diff --git a/.eslintrc.json b/.eslintrc.json
index 01a707a12f..9ffe260795 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -19,7 +19,8 @@
"plugin:sonarjs/recommended",
"plugin:cypress/recommended",
"plugin:no-jquery/deprecated",
- "plugin:compat/recommended"
+ "plugin:compat/recommended",
+ "plugin:unicorn/all"
],
"env": {
"browser": true,
@@ -34,7 +35,7 @@
"window": true,
"document": true
},
- "plugins": ["react", "jsx-a11y", "sonarjs", "cypress", "no-jquery", "compat", "jsdoc"],
+ "plugins": ["react", "jsx-a11y", "sonarjs", "cypress", "no-jquery", "compat", "jsdoc", "unicorn"],
"settings": {
"import/resolver": {
"webpack": {
@@ -149,7 +150,58 @@
"no-jquery/no-when": "error",
"react/jsx-no-target-blank": "off",
"comma-dangle": "off",
- "arrow-parens": ["error", "as-needed"]
+ "arrow-parens": ["error", "as-needed"],
+ "unicorn/filename-case": "off",
+ "unicorn/prefer-query-selector": "off",
+ "unicorn/no-null": "off",
+ "unicorn/prefer-module": "off",
+ "unicorn/explicit-length-check": "off",
+ "unicorn/better-regex": "off",
+ "unicorn/no-keyword-prefix": "off",
+ "unicorn/no-array-for-each": "off",
+ "unicorn/prevent-abbreviations": "off",
+ "unicorn/no-this-assignment": "off",
+ "unicorn/no-document-cookie": "off",
+ "unicorn/prefer-number-properties": "off",
+ "unicorn/prefer-spread": "off",
+ "unicorn/consistent-function-scoping": "off",
+ "unicorn/prefer-export-from": "off",
+ "unicorn/no-array-callback-reference": "off",
+ "unicorn/prefer-ternary": "off",
+ "unicorn/no-for-loop": "off",
+ "unicorn/no-array-reduce": "off",
+ "unicorn/prefer-at": "off",
+ "unicorn/consistent-destructuring": "off",
+ "unicorn/prefer-string-slice": "off",
+ "unicorn/catch-error-name": "off",
+ "unicorn/no-static-only-class": "off",
+ "unicorn/prefer-optional-catch-binding": "off",
+ "unicorn/no-lonely-if": "off",
+ "unicorn/prefer-set-has": "off",
+ "unicorn/prefer-switch": "off",
+ "unicorn/no-useless-switch-case": "off",
+ "unicorn/prefer-prototype-methods": "off",
+ // Fix this soon
+ "unicorn/prefer-dom-node-dataset": "off",
+ // Look more into this one.
+ "unicorn/numeric-separators-style": "off",
+ // Look into this
+ "unicorn/no-unsafe-regex": "off",
+ // Consider this one.
+ "unicorn/prefer-regexp-test": "off",
+ "unicorn/prefer-logical-operator-over-ternary": "off",
+ // Maybe fix
+ "unicorn/prefer-dom-node-text-content": "off",
+ "unicorn/empty-brace-spaces": "off",
+ // Probably fix
+ "unicorn/no-array-push-push": "off",
+ "unicorn/prefer-array-find": "off",
+ "unicorn/prefer-add-event-listener": "off",
+ "unicorn/text-encoding-identifier-case": "off",
+ "unicorn/prefer-includes": "off",
+ "unicorn/prefer-modern-dom-apis": "off",
+ "unicorn/prefer-string-replace-all": "off",
+ "unicorn/no-useless-promise-resolve-reject": "off"
},
"overrides": [
{
diff --git a/js/admin/applications.js b/js/admin/applications.js
index 42935a02f7..ab61ddebf9 100644
--- a/js/admin/applications.js
+++ b/js/admin/applications.js
@@ -68,11 +68,11 @@
container.innerHTML = '';
const contentWrapper = div( { className: 'frm-applications-index-content' } );
- container.appendChild( contentWrapper );
+ container.append( contentWrapper );
const customTemplatesNav = getCustomTemplatesNav();
- contentWrapper.appendChild( customTemplatesNav );
+ contentWrapper.append( customTemplatesNav );
renderFormidableTemplates( contentWrapper, data.templates );
const hookName = 'frm_application_render_templates';
@@ -138,13 +138,13 @@
className: 'frm_grid_container frm-application-cards-grid'
} );
addTemplatesToGrid( templates );
- contentWrapper.appendChild( getTemplatesNav() );
- contentWrapper.appendChild( elements.templatesGrid );
+ contentWrapper.append( getTemplatesNav() );
+ contentWrapper.append( elements.templatesGrid );
}
function addTemplatesToGrid( templates ) {
templates.forEach(
- application => elements.templatesGrid.appendChild( createApplicationCard( application ) )
+ application => elements.templatesGrid.append( createApplicationCard( application ) )
);
maybeTriggerSearch();
}
@@ -187,7 +187,7 @@
categories.forEach( addCategoryToWrapper );
function addCategoryToWrapper( category, index ) {
if ( 0 !== index ) {
- wrapper.appendChild( document.createTextNode( '|' ) );
+ wrapper.append( document.createTextNode( '|' ) );
}
const anchor = a( category );
if ( 0 === index ) {
@@ -206,7 +206,7 @@
elements.activeCategoryAnchor = anchor;
}
);
- wrapper.appendChild( anchor );
+ wrapper.append( anchor );
}
return wrapper;
@@ -247,7 +247,7 @@
function handleTemplateSearch( { foundSomething, notEmptySearchText } ) {
if ( false === elements.noTemplateSearchResultsPlaceholder ) {
elements.noTemplateSearchResultsPlaceholder = getNoResultsPlaceholder();
- elements.templatesGrid.appendChild( elements.noTemplateSearchResultsPlaceholder );
+ elements.templatesGrid.append( elements.noTemplateSearchResultsPlaceholder );
}
elements.noTemplateSearchResultsPlaceholder.classList.toggle( 'frm_hidden', ! notEmptySearchText || foundSomething );
}
@@ -273,8 +273,8 @@
if ( isTemplate ) {
card.classList.add( 'frm-application-template-card' );
card.classList.add( 'frm-locked-application-template' );
- card.appendChild( tag( 'hr' ) );
- card.appendChild( getCardContent() );
+ card.append( tag( 'hr' ) );
+ card.append( getCardContent() );
card.addEventListener(
'click',
@@ -304,17 +304,17 @@
const templateControl = getUseThisTemplateControl( data );
if ( templateControl.classList.contains( 'frm-delete-application-trigger' ) ) {
- header.appendChild( templateControl );
+ header.append( templateControl );
} else {
- titleWrapper.appendChild( templateControl );
+ titleWrapper.append( templateControl );
}
if ( data.isNew ) {
- titleWrapper.appendChild( span( { className: 'frm-new-pill frm-meta-tag frm-fadein', text: __( 'NEW', 'formidable' ) } ) );
+ titleWrapper.append( span( { className: 'frm-new-pill frm-meta-tag frm-fadein', text: __( 'NEW', 'formidable' ) } ) );
}
const counter = getItemCounter();
if ( false !== counter ) {
- header.appendChild( counter );
+ header.append( counter );
}
return header;
@@ -363,11 +363,11 @@
function addCount( countValue, pluralDescriptor, singularDescriptor ) {
if ( counter.children.length ) {
- counter.appendChild( document.createTextNode( ' | ' ) );
+ counter.append( document.createTextNode( ' | ' ) );
}
const descriptor = '1' === countValue ? singularDescriptor : pluralDescriptor;
- counter.appendChild(
+ counter.append(
span( countValue + ' ' + descriptor )
);
}
diff --git a/js/admin/dom.js b/js/admin/dom.js
index 92bdf9f9f2..1e66d562f8 100644
--- a/js/admin/dom.js
+++ b/js/admin/dom.js
@@ -33,7 +33,7 @@
);
const postbox = modal.querySelector( '.postbox' );
- postbox.appendChild(
+ postbox.append(
div( {
className: 'frm_modal_top',
children: [
@@ -42,12 +42,12 @@
]
} )
);
- postbox.appendChild(
+ postbox.append(
div( { className: 'frm_modal_content' } )
);
if ( footer ) {
- postbox.appendChild(
+ postbox.append(
div( { className: 'frm_modal_footer' } )
);
}
@@ -596,7 +596,7 @@
child: child,
className: uniqueClassName
} );
- appendTo.appendChild( element );
+ appendTo.append( element );
} else {
redraw( element, child );
}
@@ -607,8 +607,8 @@
const modal = div( { id, className: 'frm-modal' } );
const postbox = div( { className: 'postbox' } );
const metaboxHolder = div( { className: 'metabox-holder', child: postbox } );
- modal.appendChild( metaboxHolder );
- document.body.appendChild( modal );
+ modal.append( metaboxHolder );
+ document.body.append( modal );
return modal;
}
@@ -746,13 +746,13 @@
if ( children ) {
children.forEach( child => {
if ( 'string' === typeof child ) {
- output.appendChild( document.createTextNode( child ) );
+ output.append( document.createTextNode( child ) );
} else {
- output.appendChild( child );
+ output.append( child );
}
} );
} else if ( child ) {
- output.appendChild( child );
+ output.append( child );
} else if ( text ) {
output.textContent = text;
}
@@ -774,7 +774,7 @@
if ( href ) {
const use = document.createElementNS( namespace, 'use' );
use.setAttribute( 'href', href );
- output.appendChild( use );
+ output.append( use );
output.classList.add( 'frmsvg' );
}
return output;
@@ -796,7 +796,7 @@
child: 'string' === typeof content ? document.createTextNode( content ) : content
} )
} );
- container.appendChild( notice );
+ container.append( notice );
setTimeout(
() => jQuery( notice ).fadeOut( () => notice.remove() ),
@@ -812,7 +812,7 @@
function redraw( element, child ) {
element.innerHTML = '';
- element.appendChild( child );
+ element.append( child );
}
const allowedHtml = {
@@ -863,7 +863,7 @@
}
);
- node.childNodes.forEach( child => newNode.appendChild( cleanNode( child ) ) );
+ node.childNodes.forEach( child => newNode.append( cleanNode( child ) ) );
return newNode;
}
diff --git a/js/admin/embed.js b/js/admin/embed.js
index 17d8429967..f6f6a377f2 100644
--- a/js/admin/embed.js
+++ b/js/admin/embed.js
@@ -148,11 +148,11 @@
const spinner = tag( 'span' );
spinner.className = 'frm-wait frm_spinner';
spinner.style.visibility = 'visible';
- content.appendChild( spinner );
+ content.append( spinner );
const gap = div();
gap.style.height = '20px';
- content.appendChild( gap );
+ content.append( gap );
content.classList.add( 'frm-loading-page-options' );
@@ -182,7 +182,7 @@
const title = getLabel( titleText );
title.setAttribute( 'for', 'frm_page_dropdown' );
- content.appendChild( title );
+ content.append( title );
let editPageUrl;
@@ -194,7 +194,7 @@
const dropdownWrapper = div();
dropdownWrapper.innerHTML = response.html;
- content.appendChild( dropdownWrapper );
+ content.append( dropdownWrapper );
if ( 'form' === state.type ) {
editPageUrl = response.edit_page_url + '&frmForm=' + state.objectId;
@@ -281,15 +281,15 @@
const title = getLabel( __( 'What will you call the new page?', 'formidable' ) );
title.setAttribute( 'for', 'frm_name_your_page' );
- form.appendChild( title );
+ form.append( title );
const input = tag( 'input' );
input.id = 'frm_name_your_page';
input.placeholder = __( 'Name your page', 'formidable' );
- form.appendChild( input );
+ form.append( input );
- wrapper.appendChild( form );
- content.appendChild( wrapper );
+ wrapper.append( form );
+ content.append( wrapper );
input.type = 'text';
input.focus();
@@ -313,7 +313,7 @@
content.innerHTML = '';
if ( 'form' === state.type ) {
- getEmbedFormManualExamples().forEach( example => content.appendChild( getEmbedExample( example ) ) );
+ getEmbedFormManualExamples().forEach( example => content.append( getEmbedExample( example ) ) );
} else {
const hookName = 'frm_embed_examples';
const hookArgs = {
@@ -322,7 +322,7 @@
objectKey: state.objectKey
};
wp.hooks.applyFilters( hookName, [], hookArgs ).forEach(
- example => content.appendChild( getEmbedExample( example ) )
+ example => content.append( getEmbedExample( example ) )
);
}
}
@@ -330,7 +330,7 @@
];
options.forEach(
- option => content.appendChild( getModalOption( option ) )
+ option => content.append( getModalOption( option ) )
);
return content;
@@ -348,17 +348,17 @@
function getModalOption( { icon, label, description, callback } ) {
const output = div();
- output.appendChild( wrapModalOptionIcon( icon ) );
+ output.append( wrapModalOptionIcon( icon ) );
output.className = 'frm-embed-modal-option';
output.setAttribute( 'tabindex', 0 );
output.setAttribute( 'role', 'button' );
const textWrapper = div();
- textWrapper.appendChild( getLabel( label ) );
- textWrapper.appendChild( div( description ) );
- output.appendChild( textWrapper );
+ textWrapper.append( getLabel( label ) );
+ textWrapper.append( div( description ) );
+ output.append( textWrapper );
- output.appendChild( div( { className: 'caret' } ) );
+ output.append( div( { className: 'caret' } ) );
output.addEventListener(
'click',
@@ -407,7 +407,7 @@
labelElement.id = 'frm_embed_example_label_' + unique;
const element = div();
- element.appendChild( labelElement );
+ element.append( labelElement );
let exampleElement;
if ( example.length > 80 ) {
@@ -428,11 +428,11 @@
linkElement.href = link;
linkElement.textContent = linkLabel;
linkElement.setAttribute( 'target', '_blank' );
- element.appendChild( linkElement );
+ element.append( linkElement );
}
- element.appendChild( exampleElement );
- element.appendChild( getCopyIcon( label ) );
+ element.append( exampleElement );
+ element.append( getCopyIcon( label ) );
return element;
}
@@ -493,9 +493,9 @@
element.setAttribute( 'id', id );
element.className = 'frm_screen_reader frm_hidden';
element.textContent = message;
- document.body.appendChild( element );
+ document.body.append( element );
- setTimeout( () => document.body.removeChild( element ), 1000 );
+ setTimeout( () => element.remove(), 1000 );
}
/**
diff --git a/js/admin/style.js b/js/admin/style.js
index f55fd6647b..e8837f7df5 100644
--- a/js/admin/style.js
+++ b/js/admin/style.js
@@ -271,7 +271,6 @@
if ( target.classList.contains( 'frm-edit-style' ) || null !== target.closest( '.frm-edit-style' ) || 'frm_edit_style' === target.id ) {
modifyStylerUrl( target );
- return; // eslint-disable-line
}
}
@@ -327,7 +326,6 @@
if ( target.classList.contains( 'frm-style-card' ) || target.closest( '.frm-style-card' ) ) {
handleStyleCardClick( event );
- return; // eslint-disable-line
}
}
@@ -588,7 +586,7 @@
return;
}
- card.appendChild( getHamburgerMenu( card.dataset ) );
+ card.append( getHamburgerMenu( card.dataset ) );
}
/**
@@ -1126,13 +1124,13 @@
newStyle.addEventListener(
'load',
() => {
- style.parentNode.removeChild( style );
+ style.remove();
newStyle.id = 'frm-custom-theme-css'; // Assign the old ID to the new style so it can be removed in the next reset action.
}
);
const head = document.getElementsByTagName( 'HEAD' )[ 0 ];
- head.appendChild( newStyle );
+ head.append( newStyle );
}
/**
diff --git a/js/form-templates.js b/js/form-templates.js
index 9b40bb22e8..93ce41c86e 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 '+e.message+"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;e3&&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;e{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").addClass("frm_grid_container frm_sorting").append(e)))}),r}function Ue(e){var t=s("ul",{className:"frm_grid_container frm_sorting"}),r=s("li",{className:"frm_field_box",child:t});e.replaceWith(r),t.appendChild(e),K(t),Y(r,".frm-move")}function Ve(e,t){var r,n,i=/id="(\S+)"/.exec(e),o=document.getElementById(i[1]),l="#"+i[1]+".edit_field_type_divider ul.frm_sorting.start_divider",s=jQuery(l),c=o.getAttribute("data-type");r=e,(n=d()).innerHTML=r,n.querySelectorAll(".form-field").forEach($e);var u,f,m=!1;if(Hi(),$(l),"quantity"===c&&function(e){var t=e.getAttribute("data-fid"),r=document.getElementById("field_options[product_field_"+t+"]");null!==r&&(nt(r),ai(document.getElementById("frm-single-settings-"+t)))}(o),"product"!==c&&"quantity"!==c||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&&(Ln(_),m=!0)}-1!==e.indexOf("frm-collapse-page")&&Dr(),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"===a(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&&Ln(s)}Je(),uo(),document.getElementById("frm-show-fields").classList.remove("frm-over-droppable"),function(e){var t=document.getElementById(e);t&&t.dataset.limit&&Ar(e)>=t.dataset.limit&&t.classList.add("frm_at_limit")}(c),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=l,v.frmType=c,v.frmToggles=m,document.dispatchEvent(v)}function $e(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,a=["{","[","("],l={"}":"{",")":"(","]":"["},s=[];for(t=0;t0||s.length>0?o.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=o.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+=o.view_shortcodes+"\n\n"),t}(e)}(e,this),""!==t&&P(e+"\n\n"+t)}function Ye(e,t){for(var r=!1,n=0;n
6?(t.appendChild(Wt(e,"even")),t):(5!==e&&t.appendChild(Wt(e,"even")),e%2==1&&t.appendChild(Wt(e,"middle")),e<6?(t.appendChild(Wt(e,"left")),t.appendChild(Wt(e,"right"))):((r=d()).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;n
Imported '+r.data.name+"
",e.find(".status").prepend(n),e.find(".status").show(),N.importQueue=jQuery.grep(N.importQueue,function(e){return e!=t}),N.imported++,0===N.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(N.imported),e.find(".process-completed").show()):(e.find(".form-current").text(N.imported+1),to(e)))})}function ro(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 no(){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 io(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function oo(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function ao(e){var t,r,n=e.target.value;so(n),lo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function lo(){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 so(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")}),Eo.call(document.querySelector(".frm-auto-search")))}}function co(){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 uo(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function fo(e){e.preventDefault(),po(this,"frm_multiple_addons")}function mo(e){e.preventDefault(),po(this,"frm_activate_addon")}function _o(e){e.preventDefault(),po(this,"frm_install_addon")}function po(e,t){r(1105).toggleAddonState(e,t)}function go(){yo()}function ho(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 yo(){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 vo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function bo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),wo(t,r,this)}function jo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),wo(this,t,r)}function wo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r'+e.message+"
Imported '+r.data.name+"
",e.find(".status").prepend(n),e.find(".status").show(),N.importQueue=jQuery.grep(N.importQueue,function(e){return e!=t}),N.imported++,0===N.importQueue.length?(e.find(".process-count").hide(),e.find(".forms-completed").text(N.imported),e.find(".process-completed").show()):(e.find(".form-current").text(N.imported+1),to(e)))})}function ro(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 no(){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 io(){null!==jQuery(this).val().match(/\.csv$/i)?jQuery(".show_csv").fadeIn():jQuery(".show_csv").fadeOut()}function oo(){var e=document.querySelector('select[name="format"]');return e?e.value:""}function ao(e){var t,r,n=e.target.value;so(n),lo.call(e.target),t=n,r=document.getElementById("frm-export-select-all"),"csv"===t?(r.checked=!1,r.disabled=!0):r.disabled=!1}function lo(){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 so(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")}),Eo.call(document.querySelector(".frm-auto-search")))}}function co(){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 uo(){jQuery(".frm_multiselect").hide().each(frmDom.bootstrap.multiselect.init)}function fo(e){e.preventDefault(),po(this,"frm_multiple_addons")}function mo(e){e.preventDefault(),po(this,"frm_activate_addon")}function _o(e){e.preventDefault(),po(this,"frm_install_addon")}function po(e,t){r(1105).toggleAddonState(e,t)}function go(){ho()}function yo(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 ho(){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 vo(e){frmDom.autocomplete.initSelectionAutocomplete(e)}function bo(e){var t=this.parentNode.parentNode,r=t.elements.type.value;e.preventDefault(),this.classList.add("frm_loading_button"),wo(t,r,this)}function jo(e){var t=this.elements.type.value,r=this.querySelector("button");e.preventDefault(),r.classList.add("frm_loading_button"),wo(this,t,r)}function wo(e,t,r){var n=function(e){var t,r,n={},i=e.elements;for(r=0;r'+e.message+"
'+e.message+"