diff --git a/js/form-templates.js.map b/js/form-templates.js.map
index 2d4ec9408c..7e9fe3d329 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;;;;;;;;;;;;;;;;;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
+{"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":""}
diff --git a/js/formidable-settings-components.js.map b/js/formidable-settings-components.js.map
index 7d65d6d083..67579ab127 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","_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
+{"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":""}
diff --git a/js/formidable_admin.js b/js/formidable_admin.js
index 1dc7e1ba92..22d23d1763 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,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(3029),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(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][""])},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('"),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})},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,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: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=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))})}),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(fe(i,Kt(n))):"clear"===t?r.each(fe(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(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),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=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"}),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-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")),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 f,u,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(),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&&Sn(s)}Je(),so(),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||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 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("- ",'
')).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(3029),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(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][""])},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('"),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})},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,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")),Q=document.getElementById("new_fields"),x=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!==x&&(A=x.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(!Qe(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(Qe(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))})}),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(fe(i,Kt(n))):"clear"===t?r.each(fe(i,"")):(o=-1!==["left","right","middle","even"].indexOf(t)?function(e){return Vt(n,t,e)}:function(e){return sr(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),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=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"}),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-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")||!xe(t.parentElement)&&(!xe(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 xe(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 f,u,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(),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&&Sn(s)}Je(),so(),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||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 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);Qt(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);xt(),vn(e)&&(bt(t),t.classList.add("frm_image_options"),t.classList.add("frm_image_size_"+nn(e)))}function Qt(e){var t=e.closest(".frm-single-settings").data("fid");jQuery(".field_"+t+"_option").trigger("change")}function xt(){Qt(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 Qr(){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 xr(){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+']"]').filter('[name*="[label]"]'),c=To(e),f=bn(e),u=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)),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(){Q.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 Qi(){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 xi(){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")}),Qo.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||xo(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 xo(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]",xi),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]",xr),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)",Qo),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(Q),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",Qn),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",xt),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",Qr),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",xn),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(Q).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",Qi),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("- ",'
')).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_dashboard.js.map b/js/formidable_dashboard.js.map
index 67d89361f8..4df746a360 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":";;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,UAAU;EACtB;AACD;AACA;AACA;AACA;AACA;AACA;EACC,SAAAA,WAAaC,OAAO,EAAEC,OAAO,EAAG;IAAAC,eAAA,OAAAH,UAAA;IAC/B,IAAK,EAAIC,OAAO,YAAYG,OAAO,CAAE,IAAI,CAAEH,OAAO,CAACI,OAAO,CAACC,OAAO,EAAG;MACpE;IACD;IAEA,IAAI,CAACC,QAAQ,GAAGN,OAAO,CAACI,OAAO,CAACG,IAAI,IAAI,SAAS;IACjD,IAAI,CAACP,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACQ,KAAK,GAAGC,QAAQ,CAAET,OAAO,CAACI,OAAO,CAACC,OAAO,EAAE,EAAG,CAAC;IACpD,IAAI,CAACK,aAAa,GAAG,CAAC;IACtB,IAAI,CAACC,MAAM,GAAGX,OAAO,CAACI,OAAO,CAACO,MAAM,GAAGX,OAAO,CAACI,OAAO,CAACO,MAAM,CAACC,OAAO,CAAE,GAAG,EAAE,GAAI,CAAC,GAAG,OAAO;IAC3F,IAAI,CAACC,eAAe,GAAG,EAAE;IACzB,IAAI,CAACC,YAAY,GAAG,WAAW,KAAK,OAAOb,OAAO,IAAI,WAAW,KAAK,OAAOA,OAAO,CAACc,YAAY,GAAGd,OAAO,CAACc,YAAY,GAAG,IAAI;IAC/H,IAAI,CAACC,SAAS,GAAG,IAAI,CAACR,KAAK,GAAGS,IAAI,CAACC,IAAI,CAAE,IAAI,CAACJ,YAAY,GAAG,IAAI,CAACD,eAAgB,CAAC;IAEnF,IAAK,CAAC,KAAK,IAAI,CAACL,KAAK,EAAG;MACvB;IACD;IAEA,IAAI,CAACW,OAAO,CAAC,CAAC;EACf;EAAC,OAAAC,YAAA,CAAArB,UAAA;IAAAsB,GAAA;IAAAb,KAAA,EAED,SAAAc,YAAYA,CAAEC,MAAM,EAAG;MACtB,IAAK,UAAU,KAAK,IAAI,CAACjB,QAAQ,EAAG;QACnC,OAAOiB,MAAM,CAACC,cAAc,CAAE,IAAI,CAACb,MAAM,EAAE;UAAEc,qBAAqB,EAAE;QAAE,CAAE,CAAC;MAC1E;MACA,OAAOF,MAAM;IACd;EAAC;IAAAF,GAAA;IAAAb,KAAA,EAED,SAAAW,OAAOA,CAAA,EAAG;MACT,IAAKF,IAAI,CAACS,KAAK,CAAE,IAAI,CAAChB,aAAc,CAAC,GAAG,IAAI,CAACF,KAAK,EAAG;QACpD,IAAI,CAACE,aAAa,IAAI,IAAI,CAACM,SAAS;QACpC,IAAI,CAAChB,OAAO,CAAC2B,SAAS,GAAG,IAAI,CAACL,YAAY,CAAEL,IAAI,CAACS,KAAK,CAAE,IAAI,CAAChB,aAAc,CAAE,CAAC;QAC9EkB,UAAU,CAAE,IAAI,CAACT,OAAO,CAACU,IAAI,CAAE,IAAK,CAAC,EAAE,IAAI,CAAChB,eAAgB,CAAC;MAC9D,CAAC,MAAM;QACN,IAAI,CAACb,OAAO,CAAC2B,SAAS,GAAG,IAAI,CAACL,YAAY,CAAE,IAAI,CAACd,KAAM,CAAC;MACzD;IACD;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;AC5CK,IAAMsB,gBAAgB;EAC5B,SAAAA,iBAAaC,OAAO,EAAG;IAAA7B,eAAA,OAAA4B,gBAAA;IACtB,IAAK,WAAW,KAAK,OAAOC,OAAO,EAAG;MACrC;IACD;IAEA,IAAI,CAACA,OAAO,GAAGA,OAAO,YAAY5B,OAAO,GAAG4B,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAEF,OAAQ,CAAC;IAEvF,IAAK,IAAI,KAAK,IAAI,CAACA,OAAO,EAAG;MAC5B;IACD;IAEA,IAAI,CAACG,gBAAgB,GAAG,MAAM;IAC9B,IAAI,CAACC,IAAI,GAAG,IAAI,CAACJ,OAAO,CAACK,gBAAgB,CAAE,wBAAyB,CAAC;IACrE,IAAI,CAACC,cAAc,GAAG,IAAI,CAACN,OAAO,CAACE,aAAa,CAAE,4BAA6B,CAAC;IAChF,IAAI,CAACK,UAAU,GAAG,IAAI,CAACP,OAAO,CAACE,aAAa,CAAE,uBAAwB,CAAC;IACvE,IAAI,CAACM,MAAM,GAAG,IAAI,CAACR,OAAO,CAACK,gBAAgB,CAAE,6BAA8B,CAAC;IAC5E,IAAI,CAACI,KAAK,GAAGR,QAAQ,CAACS,eAAe,CAACC,GAAG,KAAK,KAAK,IAAIV,QAAQ,CAACW,IAAI,CAACD,GAAG,KAAK,KAAK;IAClF,IAAI,CAACE,cAAc,GAAG,IAAI;IAE1B,IAAI,CAACC,IAAI,CAAC,CAAC;EACZ;EAAC,OAAAzB,YAAA,CAAAU,gBAAA;IAAAT,GAAA;IAAAb,KAAA,EAED,SAAAqC,IAAIA,CAAA,EAAG;MAAA,IAAAC,KAAA;MACN,IAAK,IAAI,KAAK,IAAI,CAACf,OAAO,IAAI,CAAE,IAAI,CAACI,IAAI,CAACY,MAAM,IAAI,IAAI,KAAK,IAAI,CAACV,cAAc,IAAI,IAAI,KAAK,IAAI,CAACC,UAAU,IAAI,CAAE,IAAI,CAACC,MAAM,CAACQ,MAAM,EAAG;QACtI;MACD;MAEA,IAAI,CAACC,4BAA4B,CAAC,CAAC;MACnC,IAAI,CAACb,IAAI,CAACc,OAAO,CAAE,UAAEC,GAAG,EAAEC,KAAK,EAAM;QACpCD,GAAG,CAACE,gBAAgB,CAAE,OAAO,EAAE,UAAAC,KAAK;UAAA,OAAIP,KAAI,CAACQ,UAAU,CAAED,KAAK,EAAEF,KAAM,CAAC;QAAA,CAAC,CAAC;MAC1E,CAAE,CAAC;MAEH,IAAI,CAACI,sBAAsB,CAAC,CAAC;MAC7B;MACAC,MAAM,CAACJ,gBAAgB,CAAE,cAAc,EAAE,IAAI,CAACK,gBAAiB,CAAC;IACjE;EAAC;IAAApC,GAAA;IAAAb,KAAA,EAED,SAAA8C,UAAUA,CAAED,KAAK,EAAEF,KAAK,EAAG;MAC1B,IAAMO,OAAO,GAAGL,KAAK,CAACM,aAAa;MAEnCN,KAAK,CAACO,cAAc,CAAC,CAAC;MAEtB,IAAI,CAACC,6BAA6B,CAAC,CAAC;MACpCH,OAAO,CAACI,SAAS,CAACC,GAAG,CAAE,YAAa,CAAC;MACrC,IAAI,CAACC,uBAAuB,CAAEN,OAAO,EAAEP,KAAM,CAAC;MAC9C,IAAI,CAACc,WAAW,CAAEd,KAAM,CAAC;;MAEzB;MACA,IAAMe,OAAO,GAAGR,OAAO,CAACzB,aAAa,CAAE,GAAI,CAAC;MAC5C,IAAKiC,OAAO,IAAIA,OAAO,CAACC,EAAE,KAAK,uBAAuB,IAAI,CAAED,OAAO,CAACE,OAAO,CAAE,eAAgB,CAAC,EAAG;QAAA,IAAAC,qBAAA,EAAAC,sBAAA;QAChG,CAAAD,qBAAA,GAAAb,MAAM,CAACe,aAAa,cAAAF,qBAAA,gBAAAC,sBAAA,GAApBD,qBAAA,CAAsBG,gBAAgB,cAAAF,sBAAA,eAAtCA,sBAAA,CAAAG,IAAA,CAAAJ,qBAAyC,CAAC;MAC3C;IACD;EAAC;IAAAhD,GAAA;IAAAb,KAAA,EAED,SAAAwC,4BAA4BA,CAAA,EAAG;MAC9B,IAAK,CAAE,IAAI,CAACX,cAAc,CAACjC,OAAO,CAACsE,YAAY,EAAG;QACjD;MACD;MACA,IAAI,CAACrC,cAAc,CAACsC,KAAK,CAACC,KAAK,MAAAC,MAAA,CAAO,IAAI,CAACxC,cAAc,CAACjC,OAAO,CAACsE,YAAY,OAAK;IACpF;EAAC;IAAArD,GAAA;IAAAb,KAAA,EACD,SAAAwD,uBAAuBA,CAAEd,GAAG,EAAEC,KAAK,EAAG;MACrC,IAAI,CAACd,cAAc,CAACyB,SAAS,CAACgB,MAAM,CAAE,WAAW,EAAE,UAAW,CAAC;MAC/D,IAAMC,SAAS,GAAG,WAAW,KAAK,OAAO7B,GAAG,GAAGA,GAAG,GAAG,IAAI,CAACf,IAAI,CAAC6C,MAAM,CAAE,UAAA9B,GAAG;QAAA,OAAIA,GAAG,CAACY,SAAS,CAACmB,QAAQ,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;MACtH,IAAI,CAACC,0BAA0B,CAAEH,SAAU,CAAC;IAC7C;;IAEA;AACD;AACA;AACA;EAHC;IAAA1D,GAAA;IAAAb,KAAA,EAIA,SAAA+C,sBAAsBA,CAAA,EAAG;MAAA,IAAA4B,MAAA;MACxB,IAAMC,gBAAgB,GAAG,IAAI,CAACrD,OAAO,CAACqC,OAAO,CAAE,wBAAyB,CAAC;MAEzE,IAAK,CAAEgB,gBAAgB,IAAI,EAAI,gBAAgB,IAAI5B,MAAM,CAAE,EAAG;QAC7D;MACD;MAEA,IAAI,CAACZ,cAAc,GAAG,IAAIyC,cAAc,CAAE,YAAM;QAC/C,IAAMN,SAAS,GAAGI,MAAI,CAACpD,OAAO,CAACE,aAAa,CAAE,mCAAoC,CAAC;QACnF,IAAK8C,SAAS,EAAG;UAChBI,MAAI,CAACD,0BAA0B,CAAEH,SAAU,CAAC;QAC7C;MACD,CAAE,CAAC;MAEH,IAAI,CAACnC,cAAc,CAAC0C,OAAO,CAAEF,gBAAiB,CAAC;IAChD;;IAEA;AACD;AACA;EAFC;IAAA/D,GAAA;IAAAb,KAAA,EAGA,SAAAiD,gBAAgBA,CAAA,EAAG;MAClB,IAAK,IAAI,CAACb,cAAc,EAAG;QAC1B,IAAI,CAACA,cAAc,CAAC2C,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC3C,cAAc,GAAG,IAAI;MAC3B;IACD;;IAEA;AACD;AACA;AACA;AACA;EAJC;IAAAvB,GAAA;IAAAb,KAAA,EAKA,SAAA0E,0BAA0BA,CAAEH,SAAS,EAAG;MAAA,IAAAS,MAAA;MACvCC,qBAAqB,CAAE,YAAM;QAC5B,IAAMC,QAAQ,GAAGF,MAAI,CAAChD,KAAK,GACxB,EAAGuC,SAAS,CAACY,aAAa,CAACC,WAAW,GAAGb,SAAS,CAACc,UAAU,GAAGd,SAAS,CAACa,WAAW,CAAE,GACvFb,SAAS,CAACc,UAAU;QAEvBL,MAAI,CAACnD,cAAc,CAACsC,KAAK,CAACmB,SAAS,iBAAAjB,MAAA,CAAkBa,QAAQ,QAAM;QACnEF,MAAI,CAACnD,cAAc,CAACsC,KAAK,CAACC,KAAK,GAAGG,SAAS,CAACgB,WAAW,GAAG,IAAI;MAC/D,CAAE,CAAC;IACJ;EAAC;IAAA1E,GAAA;IAAAb,KAAA,EAED,SAAAyD,WAAWA,CAAEd,KAAK,EAAG;MACpB,IAAI,CAAC6C,+BAA+B,CAAC,CAAC;MACtC,IAAMC,SAAS,GAAG9C,KAAK,IAAI,CAAC,GAAG,KAAK,cAAA0B,MAAA,CAAiB1B,KAAK,GAAG,GAAG,UAAA0B,MAAA,CAAWpE,QAAQ,CAAE,IAAI,CAACyB,gBAAgB,EAAE,EAAG,CAAC,GAAGiB,KAAK,aAAA0B,MAAA,CAAY,IAAI,CAACrC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,OAAK;MAC5J,IAAK,KAAK,KAAKyD,SAAS,EAAG;QAC1B,IAAI,CAAC3D,UAAU,CAACqC,KAAK,CAACmB,SAAS,iBAAAjB,MAAA,CAAkBoB,SAAS,MAAI;MAC/D,CAAC,MAAM;QACN,IAAI,CAAC3D,UAAU,CAACqC,KAAK,CAACuB,cAAc,CAAE,WAAY,CAAC;MACpD;MACA,IAAK/C,KAAK,IAAI,IAAI,CAACZ,MAAM,EAAG;QAC3B,IAAI,CAACA,MAAM,CAAEY,KAAK,CAAE,CAACW,SAAS,CAACC,GAAG,CAAE,YAAa,CAAC;MACnD;IACD;EAAC;IAAA1C,GAAA;IAAAb,KAAA,EAED,SAAAwF,+BAA+BA,CAAA,EAAG;MACjC,IAAI,CAACzD,MAAM,CAACU,OAAO,CAAE,UAAAkD,KAAK;QAAA,OAAIA,KAAK,CAACrC,SAAS,CAACgB,MAAM,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;IACvE;EAAC;IAAAzD,GAAA;IAAAb,KAAA,EAED,SAAAqD,6BAA6BA,CAAA,EAAG;MAC/B,IAAI,CAAC1B,IAAI,CAACc,OAAO,CAAE,UAAAC,GAAG;QAAA,OAAIA,GAAG,CAACY,SAAS,CAACgB,MAAM,CAAE,YAAa,CAAC;MAAA,CAAC,CAAC;IACjE;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;ACrIK,IAAAsB,iBAAA,GAAmC5C,MAAM,CAAC6C,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,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,aAAa,GAAG,aAAa;AACnC,IAAMC,qBAAqB,GAAG,qBAAqB;AAEnD,IAAMC,KAAK,GAAG;EACpBC,mBAAmB,EAAE;AACtB,CAAC;;;;;;;;;;;;;;;;;;;;ACVM,IAAMC,UAAU;EACtB;AACD;AACA;AACA;AACA;AACA;EACC,SAAAA,WAAaC,QAAQ,EAAqB;IAAA,IAAnB3G,IAAI,GAAA4G,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,SAAS;IAAAjH,eAAA,OAAA+G,UAAA;IACtC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAAC3G,IAAI,GAAGA,IAAI;IAEhB,IAAI,CAAC8G,eAAe,CAAC,CAAC;EACvB;;EAEA;AACD;AACA;AACA;AACA;EAJC,OAAAjG,YAAA,CAAA6F,UAAA;IAAA5F,GAAA;IAAAb,KAAA,EAKA,SAAA8G,MAAMA,CAAA,EAAG;MAAA,IAAAxE,KAAA;MACR,IAAI,CAACyE,oBAAoB,CAAE,UAAAvH,OAAO,EAAI;QACrCA,OAAO,CAAC8D,SAAS,CAACC,GAAG,CAAE,eAAgB,CAAC;QAExC/D,OAAO,CAACoD,gBAAgB,CAAE,cAAc,EAAE,YAAM;UAC/CN,KAAI,CAAC0E,YAAY,CAAC,CAAC;UACnBxH,OAAO,CAAC8D,SAAS,CAACgB,MAAM,CAAE,eAAgB,CAAC;QAC5C,CAAC,EAAE;UAAE2C,IAAI,EAAE;QAAK,CAAE,CAAC;MACpB,CAAE,CAAC;IACJ;;IAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;EAPC;IAAApG,GAAA;IAAAb,KAAA,EAQA,SAAAkH,aAAaA,CAAA,EAAiB;MAAA,IAAAvC,MAAA;MAAA,IAAfwC,KAAK,GAAAR,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,IAAI;MAC1BvF,UAAU,CAAE,YAAM;QACjBuD,MAAI,CAACoC,oBAAoB,CAAE,UAAEvH,OAAO,EAAEmD,KAAK,EAAM;UAChDnD,OAAO,CAAC8D,SAAS,CAACgB,MAAM,CAAE,aAAc,CAAC;UACzC9E,OAAO,CAAC2E,KAAK,CAACiD,eAAe,GAAK,CAAEzE,KAAK,GAAG,CAAC,IAAKwE,KAAK,GAAK,GAAG;QAChE,CAAE,CAAC;MACJ,CAAC,EAAE,GAAI,CAAC;IACT;EAAC;IAAAtG,GAAA;IAAAb,KAAA,EAED,SAAA6G,eAAeA,CAAA,EAAG;MAAA,IAAA7B,MAAA;MACjB,IAAI,CAAC+B,oBAAoB,CAAE,UAAAvH,OAAO,EAAI;QACrC,IAAK,SAAS,KAAKwF,MAAI,CAACjF,IAAI,EAAG;UAC9BP,OAAO,CAAC2E,KAAK,CAACkD,OAAO,GAAG,KAAK;QAC9B;QACA,IAAK,SAAS,KAAKrC,MAAI,CAACjF,IAAI,EAAG;UAC9BP,OAAO,CAAC8D,SAAS,CAACC,GAAG,CAAE,4BAA6B,CAAC;QACtD;QACA,IAAK,YAAY,KAAKyB,MAAI,CAACjF,IAAI,EAAG;UACjCP,OAAO,CAAC8D,SAAS,CAACC,GAAG,CAAE,oBAAqB,CAAC;QAC9C;QACA/D,OAAO,CAAC8D,SAAS,CAACC,GAAG,CAAE,aAAc,CAAC;MACvC,CAAE,CAAC;IACJ;EAAC;IAAA1C,GAAA;IAAAb,KAAA,EAED,SAAAgH,YAAYA,CAAA,EAAG;MACd,IAAI,CAACD,oBAAoB,CAAE,UAAAvH,OAAO;QAAA,OAAIA,OAAO,CAAC2E,KAAK,CAACkD,OAAO,GAAG,KAAK;MAAA,CAAC,CAAC;IACtE;EAAC;IAAAxG,GAAA;IAAAb,KAAA,EAED,SAAA+G,oBAAoBA,CAAEO,QAAQ,EAAG;MAChC,IAAK,IAAI,CAACZ,QAAQ,YAAY/G,OAAO,EAAG;QACvC2H,QAAQ,CAAE,IAAI,CAACZ,QAAQ,EAAE,CAAE,CAAC;QAC5B;MACD;MACA,IAAK,CAAC,GAAG,IAAI,CAACA,QAAQ,CAACnE,MAAM,EAAG;QAC/B,IAAI,CAACmE,QAAQ,CAACjE,OAAO,CAAE,UAAEjD,OAAO,EAAEmD,KAAK;UAAA,OAAM2E,QAAQ,CAAE9H,OAAO,EAAEmD,KAAM,CAAC;QAAA,CAAC,CAAC;MAC1E;IACD;EAAC;AAAA;;;;;;;;;;;;;;AC1EF;AACA,IAAI4E,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,IAAMK,aAAa,GAAG,SAAhBA,aAAaA,CAAKC,OAAO,EAAEC,OAAO,EAAEnI,IAAI,EAAEoI,OAAO,EAAM;EACnE,IAAMC,YAAY,GAAG5G,QAAQ,CAACC,aAAa,CAAEwG,OAAQ,CAAC;EACtD,IAAMI,YAAY,GAAG7G,QAAQ,CAACC,aAAa,CAAEyG,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,CAAC5G,aAAa,qBAAA4C,MAAA,CAAsBtE,IAAI,QAAM,CAAC;IACxE,IAAKyI,IAAI,EAAG;MACXA,IAAI,CAACC,WAAW,GAAGN,OAAO;IAC3B;EACD;;EAEA;EACAE,YAAY,CAACK,YAAY,CAAE,WAAW,EAAE3I,IAAK,CAAC;EAC9CgI,uCAAI,CAAEM,YAAa,CAAC;;EAEpB;EACAD,YAAY,CAACxF,gBAAgB,CAAE,OAAO,EAAE,YAAM;IAC7CkF,uCAAI,CAAEO,YAAa,CAAC;EACrB,CAAC,EAAE;IAAEpB,IAAI,EAAE;EAAK,CAAE,CAAC;AACpB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCD,IAAA0B,OAAA,GAAwCC,MAAM;EAAtCC,GAAG,GAAAF,OAAA,CAAHE,GAAG;EAAEL,IAAI,GAAAG,OAAA,CAAJH,IAAI;EAAEM,GAAG,GAAAH,OAAA,CAAHG,GAAG;EAAEC,CAAC,GAAAJ,OAAA,CAADI,CAAC;EAAEC,GAAG,GAAAL,OAAA,CAAHK,GAAG;EAAEC,GAAG,GAAAN,OAAA,CAAHM,GAAG;AACnC,IAAAC,aAAA,GAA2CN,MAAM,CAACO,KAAK;EAA/CC,gBAAgB,GAAAF,aAAA,CAAhBE,gBAAgB;EAAEC,YAAY,GAAAH,aAAA,CAAZG,YAAY;AACtC,IAAAC,YAAA,GAA8CV,MAAM,CAACW,IAAI;EAAjDC,qBAAqB,GAAAF,YAAA,CAArBE,qBAAqB;EAAEC,UAAU,GAAAH,YAAA,CAAVG,UAAU;AACzC,IAAQC,UAAU,GAAKd,MAAM,CAACe,IAAI,CAA1BD,UAAU;AAClB,IAAME,CAAC,GAAG,SAAJA,CAACA,CAAGC,IAAI;EAAA,OAAIf,GAAG,CAAE,GAAG,EAAEe,IAAK,CAAC;AAAA;AAClC,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAGD,IAAI;EAAA,OAAIf,GAAG,CAAE,QAAQ,EAAEe,IAAK,CAAC;AAAA;AAC1C,IAAME,MAAM,GAAG,SAATA,MAAMA,CAAGF,IAAI;EAAA,OAAIf,GAAG,CAAE,QAAQ,EAAEe,IAAK,CAAC;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNhB;AACJ;AACA;AACQ;AACV;AACO;;;;;;;;;;;;;;;;;;;;;;;ACL7B;AACA;AACA;AACA,IAAM9D,GAAG,GAAG,IAAIiE,GAAG,CAAEhH,MAAM,CAACiH,QAAQ,CAACC,IAAK,CAAC;AAC3C,IAAMC,SAAS,GAAGpE,GAAG,CAACqE,YAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,SAAS;EAAA,OAAIH,SAAS,CAACI,GAAG,CAAED,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGF,SAAS,EAAI;EAC5CH,SAAS,CAACM,MAAM,CAAEH,SAAU,CAAC;EAC7BvE,GAAG,CAAC2E,MAAM,GAAGP,SAAS,CAACQ,QAAQ,CAAC,CAAC;EACjC,OAAO5E,GAAG,CAAC4E,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAKN,SAAS,EAAEO,UAAU,EAAkC;EAAA,IAAhCC,YAAY,GAAAnE,SAAA,CAAApE,MAAA,QAAAoE,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,WAAW;EAC/EwD,SAAS,CAACY,GAAG,CAAET,SAAS,EAAEO,UAAW,CAAC;EACtC9E,GAAG,CAAC2E,MAAM,GAAGP,SAAS,CAACQ,QAAQ,CAAC,CAAC;EAEjC,IAAK,CAAE,WAAW,EAAE,cAAc,CAAE,CAACK,QAAQ,CAAEF,YAAa,CAAC,EAAG;IAC/D,IAAMG,KAAK,GAAAC,eAAA,KAAOZ,SAAS,EAAIO,UAAU,CAAE;IAC3C7H,MAAM,CAACmI,OAAO,CAAEL,YAAY,CAAE,CAAEG,KAAK,EAAE,EAAE,EAAElF,GAAI,CAAC;EACjD;EAEA,OAAOA,GAAG,CAAC4E,QAAQ,CAAC,CAAC;AACtB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,IAAMS,aAAa,GAAG,SAAhBA,aAAaA,CAAGd,SAAS;EAAA,OAAIH,SAAS,CAACkB,GAAG,CAAEf,SAAU,CAAC;AAAA;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMgB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGhB,SAAS;EAAA,OAC9Ca,OAAO,CAACI,YAAY,CAAE,CAAC,CAAC,EAAE,EAAE,EAAEf,gBAAgB,CAAEF,SAAU,CAAE,CAAC;AAAA;;;;;;;;;;;;;;;;AC7D9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMkB,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,CAAGnM,OAAO;EAAA,OAAIA,OAAO,YAAYoM,WAAW,IAAItD,OAAO,CAACC,IAAI,CAAE,8DAA+D,CAAC,IAAI,KAAK;AAAA;;AAEjK;AACA;AACA;AACA;AACA;AACA;AACO,IAAMsD,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,GAAG;EAAA,OAAIC,MAAM,CAACC,IAAI,CAAEF,GAAI,CAAC,CAACvJ,MAAM,KAAK,CAAC,IAAIuJ,GAAG,CAACG,WAAW,KAAKF,MAAM;AAAA;;;;;;;;;;;;;;;;;;;ACvBjG;AACA;AACA;AAC8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACO,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAGxF,QAAQ;EAAA,IAAAyF,WAAA;EAAA,QAAAA,WAAA,GACnCC,KAAK,CAACC,IAAI,CAAE3F,QAAS,CAAC,cAAAyF,WAAA,uBAAtBA,WAAA,CAAwB1J,OAAO,CAAE,UAAAjD,OAAO;IAAA,OAAIuI,IAAI,CAAEvI,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAM8M,YAAY,GAAG,SAAfA,YAAYA,CAAG5F,QAAQ;EAAA,IAAA6F,YAAA;EAAA,QAAAA,YAAA,GACnCH,KAAK,CAACC,IAAI,CAAE3F,QAAS,CAAC,cAAA6F,YAAA,uBAAtBA,YAAA,CAAwB9J,OAAO,CAAE,UAAAjD,OAAO;IAAA,OAAIsI,IAAI,CAAEtI,OAAQ,CAAC;EAAA,CAAC,CAAC;AAAA;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACO,IAAMuI,IAAI,GAAG,SAAPA,IAAIA,CAAGvI,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8D,SAAS,CAACgB,MAAM,CAAE2B,wDAAa,CAAC;AAAA;;AAExE;AACA;AACA;AACA;AACA;AACA;AACO,IAAM6B,IAAI,GAAG,SAAPA,IAAIA,CAAGtI,OAAO;EAAA,OAAIA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8D,SAAS,CAACC,GAAG,CAAE0C,wDAAa,CAAC;AAAA;;AAErE;AACA;AACA;AACA;AACA;AACA;AACO,IAAMuG,SAAS,GAAG,SAAZA,SAASA,CAAGhN,OAAO,EAAI;EACnC,IAAMiN,MAAM,GAAGzJ,MAAM,CAAC0J,gBAAgB,CAAElN,OAAQ,CAAC;EACjD,OAAOiN,MAAM,CAACE,gBAAgB,CAAE,SAAU,CAAC,KAAK,MAAM;AACvD,CAAC;;;;;;UChDD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACwC;AAE6B;AACb;AAAA,IAClDC,YAAY;EACjB,SAAAA,aAAA,EAAc;IAAAlN,eAAA,OAAAkN,YAAA;IACb,IAAI,CAACnN,OAAO,GAAG;MACdkK,IAAI,EAAE;QACLkD,MAAM,EAAE,uBAAuB;QAC/BC,gBAAgB,EAAE;UACjBC,aAAa,EAAE,2BAA2B;UAC1CC,sBAAsB,EAAE,sBAAsB;UAC9CC,mBAAmB,EAAE;QACtB;MACD;IACD,CAAC;IACD,IAAI,CAACC,cAAc,GAAG,IAAIzG,kDAAU,CAAEjF,QAAQ,CAACI,gBAAgB,CAAE,uBAAwB,CAAC,EAAE,SAAU,CAAC;EACxG;EAAC,OAAAhB,YAAA,CAAAgM,YAAA;IAAA/L,GAAA;IAAAb,KAAA,EAED,SAAAqC,IAAIA,CAAA,EAAG;MACN,IAAI,CAAC8K,SAAS,CAAC,CAAC;MAChB,IAAI,CAACC,YAAY,CAAC,CAAC;MACnB,IAAI,CAACC,sBAAsB,CAAC,CAAC;MAE7B,IAAI,CAACH,cAAc,CAAChG,aAAa,CAAC,CAAC;IACpC;EAAC;IAAArG,GAAA;IAAAb,KAAA,EAED,SAAAmN,SAASA,CAAA,EAAG;MAAA,IAAA7K,KAAA;MACX,IAAIhB,8EAAgB,CAAE,oBAAqB,CAAC;MAC5C,IAAMgM,cAAc,GAAG9L,QAAQ,CAACC,aAAa,CAAE,kBAAmB,CAAC;MACnE,IAAM8L,eAAe,GAAG/L,QAAQ,CAACC,aAAa,CAAE,2BAA4B,CAAC;MAE7E8L,eAAe,CAAC3K,gBAAgB,CAAE,OAAO,EAAE,YAAM;QAChDN,KAAI,CAAC2K,mBAAmB,CAAEK,cAAc,CAACtN,KAAM,CAAC,CAAC4H,IAAI,CAAC,CAAC;MACxD,CAAE,CAAC;IACJ;EAAC;IAAA/G,GAAA;IAAAb,KAAA,EAED,SAAAoN,YAAYA,CAAA,EAAG;MACd,IAAMI,QAAQ,GAAGhM,QAAQ,CAACI,gBAAgB,CAAE,cAAe,CAAC;MAC5D4L,QAAQ,CAAC/K,OAAO,CAAE,UAAA5C,OAAO;QAAA,OAAI,IAAIN,iEAAU,CAAEM,OAAQ,CAAC;MAAA,CAAC,CAAC;IACzD;EAAC;IAAAgB,GAAA;IAAAb,KAAA,EAED,SAAAqN,sBAAsBA,CAAA,EAAG;MAAA,IAAA1I,MAAA;MACxB,IAAM8I,WAAW,GAAGjM,QAAQ,CAACC,aAAa,CAAE,6BAA8B,CAAC;MAC3E,IAAMiM,eAAe,GAAGlM,QAAQ,CAACC,aAAa,CAAE,uBAAwB,CAAC;MAEzE,IAAK,CAAEgM,WAAW,IAAI,CAAEC,eAAe,EAAG;QACzC;MACD;MAEAD,WAAW,CAAC7K,gBAAgB,CAAE,OAAO,EAAE,YAAM;QAC5C+B,MAAI,CAACgJ,mCAAmC,CAAC,CAAC,CAAC/F,IAAI,CAAE,UAAAgG,IAAI,EAAI;UACxD,IAAK,IAAI,KAAKA,IAAI,CAACC,OAAO,EAAG;YAC5BH,eAAe,CAACpJ,MAAM,CAAC,CAAC;UACzB;QACD,CAAE,CAAC;MACJ,CAAE,CAAC;IACJ;EAAC;IAAAzD,GAAA;IAAAb,KAAA,EAED,SAAAiN,mBAAmBA,CAAExB,KAAK,EAAG;MAC5B,OAAOqC,KAAK,CAAE9K,MAAM,CAAC+K,OAAO,EAAE;QAC7BC,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACR,cAAc,EAAE;QACjB,CAAC;QACD9L,IAAI,EAAE,IAAI+L,eAAe,CAAE;UAC1BrB,MAAM,EAAE,IAAI,CAACpN,OAAO,CAACkK,IAAI,CAACkD,MAAM;UAChCsB,gBAAgB,EAAE,IAAI,CAAC1O,OAAO,CAACkK,IAAI,CAACmD,gBAAgB,CAACG,mBAAmB;UACxExB,KAAK,EAAEA;QACR,CAAE;MACH,CAAE,CAAC,CAAC7D,IAAI,CAAE,UAAAwG,MAAM;QAAA,OAAIA,MAAM,CAACC,IAAI,CAAC,CAAC;MAAA,CAAC,CAAC;IACpC;EAAC;IAAAxN,GAAA;IAAAb,KAAA,EAED,SAAA2N,mCAAmCA,CAAA,EAAG;MACrC,OAAOG,KAAK,CAAE9K,MAAM,CAAC+K,OAAO,EAAE;QAC7BC,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACR,cAAc,EAAE;QACjB,CAAC;QACD9L,IAAI,EAAE,IAAI+L,eAAe,CAAE;UAC1BrB,MAAM,EAAE,IAAI,CAACpN,OAAO,CAACkK,IAAI,CAACkD,MAAM;UAChCsB,gBAAgB,EAAE,IAAI,CAAC1O,OAAO,CAACkK,IAAI,CAACmD,gBAAgB,CAACC,aAAa;UAClEuB,iBAAiB,EAAE;QACpB,CAAE;MACH,CAAE,CAAC,CAAC1G,IAAI,CAAE,UAAAwG,MAAM;QAAA,OAAIA,MAAM,CAACC,IAAI,CAAC,CAAC;MAAA,CAAC,CAAC;IACpC;EAAC;AAAA;AAEF,IAAME,iBAAiB,GAAG,IAAI3B,YAAY,CAAC,CAAC;AAC5CpL,QAAQ,CAACoB,gBAAgB,CAAE,kBAAkB,EAAE,YAAM;EACpD2L,iBAAiB,CAAClM,IAAI,CAAC,CAAC;AACzB,CAAE,CAAC,C","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":""}
diff --git a/js/src/admin/admin.js b/js/src/admin/admin.js
index 8c0ebeff66..e7780d20cd 100644
--- a/js/src/admin/admin.js
+++ b/js/src/admin/admin.js
@@ -6204,14 +6204,14 @@ window.frmAdminBuildJS = function() {
opts = [],
imageUrl = '';
- const optVals = jQuery( 'input[name^="field_options[options_' + fieldId + ']"]' );
+ const optVals = jQuery( 'input[name^="field_options[options_' + fieldId + ']"]' ).filter( '[name*="[label]"]' );
const isProduct = isProductField( fieldId );
const showLabelWithImage = showingLabelWithImage( fieldId );
const hasImageOptions = imagesAsOptions( fieldId );
const separateValues = usingSeparateValues( fieldId );
for ( i = 0; i < optVals.length; i++ ) {
- if ( optVals[ i ].name.indexOf( '[000]' ) > 0 || optVals[ i ].name.indexOf( '[value]' ) > 0 || optVals[ i ].name.indexOf( '[image]' ) > 0 || optVals[ i ].name.indexOf( '[price]' ) > 0 ) {
+ if ( optVals[ i ].name.indexOf( '[000]' ) > 0 ) {
continue;
}