(()=>{var t={2694(t,e,n){"use strict";var i=n(6925);function r(){}function o(){}o.resetWarningCache=r,t.exports=function(){function t(t,e,n,r,o,a){if(a!==i){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function e(){return t}t.isRequired=t;var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:o,resetWarningCache:r};return n.PropTypes=n,n}},5556(t,e,n){t.exports=n(2694)()},6925(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6567(t){t.exports=function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={exports:{},id:i,loaded:!1};return t[i].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e){"use strict";function n(t,e,n,i){return function(t,e,n,i){return{red:i[4*(n*e+t)],green:i[4*(n*e+t)+1],blue:i[4*(n*e+t)+2],alpha:i[4*(n*e+t)+3]}}(t,e,n,i).alpha}function i(t,e,i,r){for(var o=t?1:-1,a=t?0:i-1;t?a<i:a>-1;a+=o)for(var s=0;s<e;s++)if(n(s,a,e,r))return a;return null}function r(t,e,i,r){for(var o=t?1:-1,a=t?0:e-1;t?a<e:a>-1;a+=o)for(var s=0;s<i;s++)if(n(a,s,e,r))return a;return null}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.getContext("2d"),n=t.width,o=t.height,a=e.getImageData(0,0,n,o).data,s=i(!0,n,o,a),l=i(!1,n,o,a),c=r(!0,n,o,a),u=r(!1,n,o,a)-c+1,d=l-s+1,h=e.getImageData(c,s,u,d);return t.width=u,t.height=d,e.clearRect(0,0,u,d),e.putImageData(h,0,0),t}}])}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,n),o.exports}(()=>{"use strict";const t=window.wp.element,e=window.wp.components,i=window.wp.i18n;function r(){return r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},r.apply(null,arguments)}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t,e){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},a(t,e)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}function l(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(l=function(){return!!t})()}var c=n(5556);const u=window.React;function d(t,e,n){this.x=t,this.y=e,this.time=n||(new Date).getTime()}function h(t,e,n,i){this.startPoint=t,this.control1=e,this.control2=n,this.endPoint=i}function f(t,e){var n=this,i=e||{};this.velocityFilterWeight=i.velocityFilterWeight||.7,this.minWidth=i.minWidth||.5,this.maxWidth=i.maxWidth||2.5,this.throttle="throttle"in i?i.throttle:16,this.minDistance="minDistance"in i?i.minDistance:5,this.throttle?this._strokeMoveUpdate=function(t,e,n){var i,r,o,a=null,s=0;n||(n={});var l=function(){s=!1===n.leading?0:Date.now(),a=null,o=t.apply(i,r),a||(i=r=null)};return function(){var c=Date.now();s||!1!==n.leading||(s=c);var u=e-(c-s);return i=this,r=arguments,u<=0||u>e?(a&&(clearTimeout(a),a=null),s=c,o=t.apply(i,r),a||(i=r=null)):a||!1===n.trailing||(a=setTimeout(l,u)),o}}(f.prototype._strokeUpdate,this.throttle):this._strokeMoveUpdate=f.prototype._strokeUpdate,this.dotSize=i.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=i.penColor||"black",this.backgroundColor=i.backgroundColor||"rgba(0,0,0,0)",this.onBegin=i.onBegin,this.onEnd=i.onEnd,this._canvas=t,this._ctx=t.getContext("2d"),this.clear(),this._handleMouseDown=function(t){1===t.which&&(n._mouseButtonDown=!0,n._strokeBegin(t))},this._handleMouseMove=function(t){n._mouseButtonDown&&n._strokeMoveUpdate(t)},this._handleMouseUp=function(t){1===t.which&&n._mouseButtonDown&&(n._mouseButtonDown=!1,n._strokeEnd(t))},this._handleTouchStart=function(t){if(1===t.targetTouches.length){var e=t.changedTouches[0];n._strokeBegin(e)}},this._handleTouchMove=function(t){t.preventDefault();var e=t.targetTouches[0];n._strokeMoveUpdate(e)},this._handleTouchEnd=function(t){t.target===n._canvas&&(t.preventDefault(),n._strokeEnd(t))},this.on()}d.prototype.velocityFrom=function(t){return this.time!==t.time?this.distanceTo(t)/(this.time-t.time):1},d.prototype.distanceTo=function(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))},d.prototype.equals=function(t){return this.x===t.x&&this.y===t.y&&this.time===t.time},h.prototype.length=function(){for(var t=0,e=void 0,n=void 0,i=0;i<=10;i+=1){var r=i/10,o=this._point(r,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),a=this._point(r,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(i>0){var s=o-e,l=a-n;t+=Math.sqrt(s*s+l*l)}e=o,n=a}return t},h.prototype._point=function(t,e,n,i,r){return e*(1-t)*(1-t)*(1-t)+3*n*(1-t)*(1-t)*t+3*i*(1-t)*t*t+r*t*t*t},f.prototype.clear=function(){var t=this._ctx,e=this._canvas;t.fillStyle=this.backgroundColor,t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._data=[],this._reset(),this._isEmpty=!0},f.prototype.fromDataURL=function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=new Image,r=n.ratio||window.devicePixelRatio||1,o=n.width||this._canvas.width/r,a=n.height||this._canvas.height/r;this._reset(),i.src=t,i.onload=function(){e._ctx.drawImage(i,0,0,o,a)},this._isEmpty=!1},f.prototype.toDataURL=function(t){var e;if("image/svg+xml"===t)return this._toSVG();for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];return(e=this._canvas).toDataURL.apply(e,[t].concat(i))},f.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},f.prototype.off=function(){this._canvas.removeEventListener("mousedown",this._handleMouseDown),this._canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this._canvas.removeEventListener("touchstart",this._handleTouchStart),this._canvas.removeEventListener("touchmove",this._handleTouchMove),this._canvas.removeEventListener("touchend",this._handleTouchEnd)},f.prototype.isEmpty=function(){return this._isEmpty},f.prototype._strokeBegin=function(t){this._data.push([]),this._reset(),this._strokeUpdate(t),"function"==typeof this.onBegin&&this.onBegin(t)},f.prototype._strokeUpdate=function(t){var e=t.clientX,n=t.clientY,i=this._createPoint(e,n),r=this._data[this._data.length-1],o=r&&r[r.length-1],a=o&&i.distanceTo(o)<this.minDistance;if(!o||!a){var s=this._addPoint(i),l=s.curve,c=s.widths;l&&c&&this._drawCurve(l,c.start,c.end),this._data[this._data.length-1].push({x:i.x,y:i.y,time:i.time,color:this.penColor})}},f.prototype._strokeEnd=function(t){var e=this.points.length>2,n=this.points[0];if(!e&&n&&this._drawDot(n),n){var i=this._data[this._data.length-1],r=i[i.length-1];n.equals(r)||i.push({x:n.x,y:n.y,time:n.time,color:this.penColor})}"function"==typeof this.onEnd&&this.onEnd(t)},f.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)},f.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction="none",this._canvas.style.touchAction="none",this._canvas.addEventListener("touchstart",this._handleTouchStart),this._canvas.addEventListener("touchmove",this._handleTouchMove),this._canvas.addEventListener("touchend",this._handleTouchEnd)},f.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor},f.prototype._createPoint=function(t,e,n){var i=this._canvas.getBoundingClientRect();return new d(t-i.left,e-i.top,n||(new Date).getTime())},f.prototype._addPoint=function(t){var e=this.points;if(e.push(t),e.length>2){3===e.length&&e.unshift(e[0]);var n=this._calculateCurveControlPoints(e[0],e[1],e[2]).c2,i=this._calculateCurveControlPoints(e[1],e[2],e[3]).c1,r=new h(e[1],n,i,e[2]),o=this._calculateCurveWidths(r);return e.shift(),{curve:r,widths:o}}return{}},f.prototype._calculateCurveControlPoints=function(t,e,n){var i=t.x-e.x,r=t.y-e.y,o=e.x-n.x,a=e.y-n.y,s=(t.x+e.x)/2,l=(t.y+e.y)/2,c=(e.x+n.x)/2,u=(e.y+n.y)/2,h=Math.sqrt(i*i+r*r),f=Math.sqrt(o*o+a*a),p=f/(h+f),g=c+(s-c)*p,m=u+(l-u)*p,v=e.x-g,_=e.y-m;return{c1:new d(s+v,l+_),c2:new d(c+v,u+_)}},f.prototype._calculateCurveWidths=function(t){var e=t.startPoint,n=t.endPoint,i={start:null,end:null},r=this.velocityFilterWeight*n.velocityFrom(e)+(1-this.velocityFilterWeight)*this._lastVelocity,o=this._strokeWidth(r);return i.start=this._lastWidth,i.end=o,this._lastVelocity=r,this._lastWidth=o,i},f.prototype._strokeWidth=function(t){return Math.max(this.maxWidth/(t+1),this.minWidth)},f.prototype._drawPoint=function(t,e,n){var i=this._ctx;i.moveTo(t,e),i.arc(t,e,n,0,2*Math.PI,!1),this._isEmpty=!1},f.prototype._drawCurve=function(t,e,n){var i=this._ctx,r=n-e,o=Math.floor(t.length());i.beginPath();for(var a=0;a<o;a+=1){var s=a/o,l=s*s,c=l*s,u=1-s,d=u*u,h=d*u,f=h*t.startPoint.x;f+=3*d*s*t.control1.x,f+=3*u*l*t.control2.x,f+=c*t.endPoint.x;var p=h*t.startPoint.y;p+=3*d*s*t.control1.y,p+=3*u*l*t.control2.y,p+=c*t.endPoint.y;var g=e+c*r;this._drawPoint(f,p,g)}i.closePath(),i.fill()},f.prototype._drawDot=function(t){var e=this._ctx,n="function"==typeof this.dotSize?this.dotSize():this.dotSize;e.beginPath(),this._drawPoint(t.x,t.y,n),e.closePath(),e.fill()},f.prototype._fromData=function(t,e,n){for(var i=0;i<t.length;i+=1){var r=t[i];if(r.length>1)for(var o=0;o<r.length;o+=1){var a=r[o],s=new d(a.x,a.y,a.time),l=a.color;if(0===o)this.penColor=l,this._reset(),this._addPoint(s);else if(o!==r.length-1){var c=this._addPoint(s),u=c.curve,h=c.widths;u&&h&&e(u,h,l)}}else this._reset(),n(r[0])}},f.prototype._toSVG=function(){var t=this,e=this._data,n=this._canvas,i=Math.max(window.devicePixelRatio||1,1),r=n.width/i,o=n.height/i,a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttributeNS(null,"width",n.width),a.setAttributeNS(null,"height",n.height),this._fromData(e,function(t,e,n){var i=document.createElement("path");if(!(isNaN(t.control1.x)||isNaN(t.control1.y)||isNaN(t.control2.x)||isNaN(t.control2.y))){var r="M "+t.startPoint.x.toFixed(3)+","+t.startPoint.y.toFixed(3)+" C "+t.control1.x.toFixed(3)+","+t.control1.y.toFixed(3)+" "+t.control2.x.toFixed(3)+","+t.control2.y.toFixed(3)+" "+t.endPoint.x.toFixed(3)+","+t.endPoint.y.toFixed(3);i.setAttribute("d",r),i.setAttribute("stroke-width",(2.25*e.end).toFixed(3)),i.setAttribute("stroke",n),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),a.appendChild(i)}},function(e){var n=document.createElement("circle"),i="function"==typeof t.dotSize?t.dotSize():t.dotSize;n.setAttribute("r",i),n.setAttribute("cx",e.x),n.setAttribute("cy",e.y),n.setAttribute("fill",e.color),a.appendChild(n)});var s='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+r+" "+o+'" width="'+r+'" height="'+o+'">',l=a.innerHTML;if(void 0===l){var c=document.createElement("dummy"),u=a.childNodes;c.innerHTML="";for(var d=0;d<u.length;d+=1)c.appendChild(u[d].cloneNode(!0));l=c.innerHTML}return"data:image/svg+xml;base64,"+btoa(s+l+"</svg>")},f.prototype.fromData=function(t){var e=this;this.clear(),this._fromData(t,function(t,n){return e._drawCurve(t,n.start,n.end)},function(t){return e._drawDot(t)}),this._data=t},f.prototype.toData=function(){return this._data};const p=f;var g=n(6567),m=["canvasProps","clearOnResize"],v=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&a(t,e)}(d,t);var e,n,i,c=(e=d,n=l(),function(){var t,i=s(e);if(n){var r=s(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return function(t,e){if(e&&("object"==o(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,t)});function d(){var t;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,d);for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return(t=c.call.apply(c,[this].concat(n))).staticThis=t.constructor,t._sigPad=null,t._canvas=null,t.setRef=function(e){t._canvas=e,null===t._canvas&&(t._sigPad=null)},t._excludeOurProps=function(){var e=t.props;e.canvasProps,e.clearOnResize;var n=function(t,e){if(null==t)return{};var n,i,r=function(t,e){if(null==t)return{};var n={};for(var i in t)if({}.hasOwnProperty.call(t,i)){if(-1!==e.indexOf(i))continue;n[i]=t[i]}return n}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i<o.length;i++)n=o[i],-1===e.indexOf(n)&&{}.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}(e,m);return n},t.componentDidMount=function(){var e=t.getCanvas();t._sigPad=new p(e,t._excludeOurProps()),t._resizeCanvas(),t.on()},t.componentWillUnmount=function(){t.off()},t.componentDidUpdate=function(){Object.assign(t._sigPad,t._excludeOurProps())},t.getCanvas=function(){if(null===t._canvas)throw t.staticThis.refNullError;return t._canvas},t.getTrimmedCanvas=function(){var e=t.getCanvas(),n=document.createElement("canvas");return n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),g(n)},t.getSignaturePad=function(){if(null===t._sigPad)throw t.staticThis.refNullError;return t._sigPad},t._checkClearOnResize=function(){t.props.clearOnResize&&t._resizeCanvas()},t._resizeCanvas=function(){var e,n,i=null!==(e=t.props.canvasProps)&&void 0!==e?e:{},r=i.width,o=i.height;if(void 0===r||void 0===o){var a=t.getCanvas(),s=Math.max(null!==(n=window.devicePixelRatio)&&void 0!==n?n:1,1);void 0===r&&(a.width=a.offsetWidth*s),void 0===o&&(a.height=a.offsetHeight*s),a.getContext("2d").scale(s,s),t.clear()}},t.render=function(){var e=t.props.canvasProps;return u.createElement("canvas",r({ref:t.setRef},e))},t.on=function(){return window.addEventListener("resize",t._checkClearOnResize),t.getSignaturePad().on()},t.off=function(){return window.removeEventListener("resize",t._checkClearOnResize),t.getSignaturePad().off()},t.clear=function(){return t.getSignaturePad().clear()},t.isEmpty=function(){return t.getSignaturePad().isEmpty()},t.fromDataURL=function(e,n){return t.getSignaturePad().fromDataURL(e,n)},t.toDataURL=function(e,n){return t.getSignaturePad().toDataURL(e,n)},t.fromData=function(e){return t.getSignaturePad().fromData(e)},t.toData=function(){return t.getSignaturePad().toData()},t}return i=d,Object.defineProperty(i,"prototype",{writable:!1}),i}(u.Component);v.propTypes={velocityFilterWeight:c.number,minWidth:c.number,maxWidth:c.number,minDistance:c.number,dotSize:c.oneOfType([c.number,c.func]),penColor:c.string,throttle:c.number,onEnd:c.func,onBegin:c.func,canvasProps:c.object,clearOnResize:c.bool},v.defaultProps={clearOnResize:!0},v.refNullError=new Error("react-signature-canvas is currently mounting or unmounting: React refs are null during this phase.");const _=window.ReactJSXRuntime,y=({onChange:n,value:r,fieldSettings:o,width:a=400,height:s=150,penColor:l="#000000",backgroundColor:c="transparent"})=>{const u=(0,t.useRef)(null),d=(0,t.useRef)(null),[h,f]=(0,t.useState)(!0),[p,g]=(0,t.useState)(!0),[m,y]=(0,t.useState)(!1),[w,x]=(0,t.useState)(a),b=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!m&&u.current){if(!r||!r.signature_data)return void(u.current.isEmpty()||(u.current.clear(),f(!0),g(!0),b.current=null));if(r.signature_data){if(b.current===r.signature_data)return;try{u.current.fromDataURL(r.signature_data),f(!1),g(!1),b.current=r.signature_data}catch(t){console.error("Error loading signature:",t)}}}},[r,m]),(0,t.useEffect)(()=>{const t=()=>{if(d.current){const t=d.current.offsetWidth,e=Math.min(t,a);x(e)}};let e;t();const n=()=>{e&&clearTimeout(e),e=setTimeout(t,300)};return window.addEventListener("resize",n),()=>{e&&clearTimeout(e),window.removeEventListener("resize",n)}},[a]),(0,t.useEffect)(()=>{let t;const e=()=>{t&&clearTimeout(t),t=setTimeout(()=>{if(u.current&&!u.current.isEmpty()){const t=u.current.toData(),e=u.current.getCanvas(),n=Math.max(window.devicePixelRatio||1,1);e.width=e.offsetWidth*n,e.height=e.offsetHeight*n,e.getContext("2d").scale(n,n),u.current.fromData(t)}},300)};return window.addEventListener("resize",e),()=>{t&&clearTimeout(t),window.removeEventListener("resize",e)}},[]);const S=(0,t.useCallback)(()=>{g(!1),y(!0)},[]),C=(0,t.useCallback)(()=>{if(y(!1),u.current){const t=u.current.toDataURL("image/png"),e=u.current.isEmpty();f(e),g(e),b.current=e?null:t,n({signature_type:"drawn",signature_data:e?null:t,canvas_dimensions:{width:w,height:s},timestamp:(new Date).toISOString()})}},[n,w,s]),P=(0,t.useCallback)(()=>{u.current&&(u.current.clear(),f(!0),g(!0),b.current=null,n({signature_type:"drawn",signature_data:null}))},[n]),E=((0,t.useCallback)(t=>(t.preventDefault(),!1),[]),(0,t.useMemo)(()=>{let t="nf-signature-canvas ninja-forms-field nf-element";return o?.element_class&&String(o.element_class).trim().length>0&&(t+=" "+String(o.element_class).trim()),t},[o?.element_class]));return(0,_.jsxs)("div",{className:"nf-signature-canvas-container",children:[(0,_.jsxs)("div",{ref:d,className:"nf-signature-canvas-wrapper",style:{width:`${a}px`,height:`${s}px`,maxWidth:"100%",position:"relative"},children:[(0,_.jsx)(v,{ref:u,canvasProps:{id:o?.id?`nf-field-${o.id}`:void 0,width:w,height:s,className:E,"data-react-managed":"true",style:{backgroundColor:c},tabIndex:0,"aria-label":(0,i.__)("Draw your signature here","ninja-forms"),"aria-labelledby":`nf-label-field-${o?.id}`,"aria-describedby":`nf-description-${o?.id} nf-error-${o?.id}`},penColor:l,velocityFilterWeight:.7,minWidth:.5,maxWidth:2.5,throttle:16,minDistance:5,dotSize:0,onBegin:S,onEnd:C}),p&&h&&(0,_.jsx)("div",{className:"nf-signature-canvas-placeholder",style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",pointerEvents:"none",color:"#767676",fontSize:"18px",fontStyle:"italic"},"aria-hidden":"true",children:o?.drawn_placeholder||(0,i.__)("Sign here","ninja-forms")})]}),(0,_.jsx)("div",{className:"nf-signature-controls",style:{marginTop:"10px"},children:(0,_.jsx)(e.Button,{onClick:P,variant:"secondary",disabled:h,className:"nf-signature-clear-button",children:(0,i.__)("Clear","ninja-forms")})}),(0,_.jsx)("div",{id:`nf-signature-instructions-${o?.id}`,className:"nf-field-help",children:(0,i.__)("Use your mouse, finger, or stylus to sign above.","ninja-forms")})]})},w=({onChange:e,value:n,fieldSettings:r,font:o="dancing-script"})=>{const[a,s]=(0,t.useState)(()=>n?.typed_name||""),[l,c]=(0,t.useState)(!1);(0,t.useEffect)(()=>{void 0===n?.typed_name||n.typed_name===a||l||s(n.typed_name||""),n||""===a||l||s("")},[n,n?.typed_name,a,l]);const u=(0,t.useCallback)(t=>{s(t),t&&""!==t.trim()?e({signature_type:"typed",typed_name:t,signature_font:o}):e({signature_type:"typed",typed_name:"",signature_font:o})},[e,o]),d=(0,t.useMemo)(()=>{const t={"dancing-script":'"Dancing Script", cursive',satisfy:'"Satisfy", cursive',cursive:"cursive"};return t[o]||t["dancing-script"]},[o]),h=(0,t.useMemo)(()=>{if(!a)return 32;const t=a.length;if(t<=15)return 48;if(t>=40)return 24;const e=48-24*(t-15)/25;return Math.round(e)},[a]),f=r?.id?`nf-field-${r.id}`:"nf-signature-typed-input",p=r?.id?`nf-signature-preview-${r.id}`:"nf-signature-preview",g=r?.id?`nf-field-${r.id}-signature`:"nf-signature-typed-input",m=r?.typed_placeholder||(0,i.__)("John Doe","ninja-forms"),v=r?.invalid||!1,y=(0,t.useMemo)(()=>{let t="ninja-forms-field nf-element";return r?.element_class&&String(r.element_class).trim().length>0&&(t+=" "+String(r.element_class).trim()),t},[r?.element_class]);return(0,_.jsxs)("div",{className:"nf-signature-typed-container",children:[(0,_.jsxs)("div",{className:"nf-signature-typed-input-wrapper",children:[(0,_.jsx)("label",{htmlFor:f,className:"nf-field-label",children:(0,i.__)("Type your full name","ninja-forms")}),(0,_.jsx)("input",{id:f,type:"text",value:a,name:g,onChange:t=>u(t.target.value),placeholder:m,onFocus:()=>c(!0),onBlur:()=>c(!1),className:y,"data-react-managed":"true",autoComplete:"on","aria-invalid":v?"true":"false","aria-describedby":`${p} nf-description-${r?.id||""} nf-error-${r?.id||""}`,"aria-labelledby":`nf-label-field-${r?.id||""}`,"aria-label":(0,i.__)("Type your full name to sign.","ninja-forms")})]}),(0,_.jsxs)("div",{className:"nf-signature-preview "+(l?"is-focused":""),children:[(0,_.jsx)("div",{className:"nf-signature-preview-label",children:(0,i.__)("Signature Preview:","ninja-forms")}),(0,_.jsx)("div",{className:"nf-signature-preview-text",style:{fontFamily:d,fontSize:`${h}px`,lineHeight:"1.2",color:"#000",textAlign:"center",padding:"20px",minHeight:"80px",display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid #666",borderRadius:"4px",backgroundColor:"#fff",transition:"all 0.3s ease"},children:a||(0,_.jsx)("span",{style:{color:"#555",fontFamily:"inherit",fontSize:"24px"},children:(0,i.__)("Your signature will appear here","ninja-forms")})})]})]})},x=(0,t.memo)(({field:n,value:r,onChange:o})=>{const a=n||{},s=a.signature_method||"both",l=(0,t.useMemo)(()=>{if(!r||""===r)return null;if("string"==typeof r)try{return JSON.parse(r)}catch(t){return null}return r},[r]),[c,u]=(0,t.useState)(l?.signature_type||("typed"===s?"typed":"drawn")),{saveSignature:d,clearSignature:h,validateSignature:f}=(e=>{const[n,i]=(0,t.useState)(null);return{signatureData:n,saveSignature:(0,t.useCallback)(t=>{if(i(t),e&&t)try{localStorage.setItem(`nf_signature_${e}`,JSON.stringify(t))}catch(t){console.warn("Could not save signature to local storage:",t)}},[e]),clearSignature:(0,t.useCallback)(()=>{if(i(null),e)try{localStorage.removeItem(`nf_signature_${e}`)}catch(t){console.warn("Could not clear signature from local storage:",t)}},[e]),validateSignature:(0,t.useCallback)(t=>{if(!t||"object"!=typeof t)return!1;if(!t.signature_type||!["typed","drawn"].includes(t.signature_type))return!1;if("typed"===t.signature_type){if(!t.typed_name||0===t.typed_name.trim().length)return!1;if(t.typed_name.length>100)return!1;if(!/^[\p{L}\p{M}\s'-]+$/u.test(t.typed_name))return!1}if("drawn"===t.signature_type){if(!t.signature_data)return!1;if(!t.signature_data.match(/^data:image\/(png|jpeg);base64,/))return!1;if(t.signature_data.length>137e3)return!1;try{const e=t.signature_data.split(",")[1];e&&atob(e)}catch(t){return!1}}return!0},[])}})(a.id);(0,t.useEffect)(()=>{if(l&&a.id){const t={...l,field_id:a.id,timestamp:l.timestamp||(new Date).toISOString()};f(t)&&d(t)}else!l&&a.id&&h()},[a.id,l,f,d,h]),(0,t.useEffect)(()=>{"typed"===s?u("typed"):"drawn"===s&&u("drawn")},[s]);const p=(0,t.useCallback)(t=>{if("drawn"===t.signature_type&&!t.signature_data)return h(),void o("");if("typed"===t.signature_type&&(!t.typed_name||""===t.typed_name.trim()))return h(),void o("");const e={...t,field_id:a.id,timestamp:(new Date).toISOString()};f(e)&&(d(e),o(JSON.stringify(e)))},[a.id,f,d,h,o]),g=(0,t.useCallback)(t=>{u(t),h(),o("")},[h,o]),m=(0,t.useMemo)(()=>({onChange:p,value:l,fieldSettings:a}),[p,l,a]),v=(0,t.useMemo)(()=>{let t="nf-field-container nf-field-signature";return a?.container_class&&String(a.container_class).trim().length>0&&(t+=" "+String(a.container_class).trim()),t},[a?.container_class]);return(0,_.jsxs)("div",{className:v,children:["both"!==s?null:(0,_.jsxs)("div",{className:"nf-signature-method-selector",children:[(0,_.jsx)(e.Button,{className:"nf-signature-method-button "+("typed"===c?"is-active":""),onClick:()=>g("typed"),variant:"typed"===c?"primary":"secondary",children:(0,i.__)("Type Name","ninja-forms")}),(0,_.jsx)(e.Button,{className:"nf-signature-method-button "+("drawn"===c?"is-active":""),onClick:()=>g("drawn"),variant:"drawn"===c?"primary":"secondary",children:(0,i.__)("Draw Signature","ninja-forms")})]}),("drawn"===c||"drawn"===s&&"both"!==s)&&(0,_.jsx)(y,{...m,width:a.canvas_width||400,height:a.canvas_height||150,penColor:a.pen_color||"#000000",backgroundColor:a.background_color||"#ffffff"}),("typed"===c||"typed"===s&&"both"!==s)&&(0,_.jsx)(w,{...m,font:a.signature_font||"dancing-script"})]})}),b=()=>{if(void 0===window.Backbone||void 0===window.Marionette)return void setTimeout(b,100);const e=window.Marionette.Object.extend({initialize:function(t){this.model=t.model,this.el=t.el,this.mounted=!1,this.root=null,this.listenTo(this.model,"change:value",this.updateValue),this.listenTo(this.model,"change:errors",this.updateErrors),this.listenTo(this.model,"change:visible",this.updateVisibility),this.listenTo(this.model,"change:id",this.updateFieldId),this.render()},render:function(){if(!this.container){const e=document.createElement("div");e.className="nf-field-element";const n=this.el.querySelector(".nf-field-element");n&&n.parentNode?n.parentNode.replaceChild(e,n):this.el&&this.el.appendChild(e),this.container=e,this.root=(0,t.createRoot)(e)}const e={id:this.model.get("id"),key:this.model.get("key"),label:this.model.get("label"),required:this.model.get("required"),typed_placeholder:this.model.get("typed_placeholder"),drawn_placeholder:this.model.get("drawn_placeholder"),signature_method:this.model.get("signature_method")||"both",signature_font:this.model.get("signature_font")||"dancing-script",canvas_width:parseInt(this.model.get("canvas_width"))||400,canvas_height:parseInt(this.model.get("canvas_height"))||150,pen_color:this.model.get("pen_color")||"#000000",background_color:this.model.get("background_color")||"#ffffff",invalid:this.model.get("invalid")||!1,element_class:this.model.get("element_class")||"",container_class:this.model.get("container_class")||""},n=(0,t.createElement)(x,{field:e,value:this.model.get("value"),onChange:this.handleChange.bind(this)});this.root.render(n),this.mounted=!0},handleChange:function(t){if(this.model.set("value",t),t&&""!==t){var e=this.model.get("errors");if(e&&e.length>0){var n=e.pluck("id"),i=this.model.get("id");n.forEach(function(t){window.nfRadio.channel("fields").request("remove:error",i,t)})}}window.Backbone.Radio.channel("field-"+this.model.get("id")).trigger("change:field",this.model),window.Backbone.Radio.channel("field-"+this.model.get("id")).trigger("change:modelValue",this.model),window.Backbone.Radio.channel("form-"+this.model.get("formID")).trigger("change:fieldData",this.model),this.model.get("repeaterField")&&window.nfRadio.channel("field-repeater").trigger("set:value")},updateValue:function(){this.mounted&&this.container&&this.render()},updateErrors:function(){this.mounted&&this.container&&this.render()},updateVisibility:function(){this.el&&(this.model.get("visible")?this.el.style.display="":this.el.style.display="none")},updateFieldId:function(){this.mounted&&this.container&&this.render()},onDestroy:function(){this.root&&(this.root.unmount(),this.root=null),this.container=null}});window.nfRadio&&(window.nfRadio.channel("signature").on("render:view",function(t){new e({model:t.model,el:t.el})}),window.nfRadio.channel("signature").reply("validate:required",function(t,e){var n=e.get("value");if(!n||""===n)return!1;try{var i="string"==typeof n?JSON.parse(n):n;if("typed"===i.signature_type)return i.typed_name&&i.typed_name.trim().length>0;if("drawn"===i.signature_type)return i.signature_data&&i.signature_data.length>0}catch(t){return!1}return!1}),window.nfRadio.channel("signature").reply("validate:modelData",function(t){var e=t.get("value");if(!e||""===e)return!1;try{var n="string"==typeof e?JSON.parse(e):e;if("typed"===n.signature_type)return n.typed_name&&n.typed_name.trim().length>0;if("drawn"===n.signature_type)return n.signature_data&&n.signature_data.length>0}catch(t){return!1}return!1})),window.Marionette&&window.Marionette.Object&&window.nfRadio.channel("fields").trigger("register:controller","signature",e)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",b):b()})()})();
var customFrontendFlatPickr=Marionette.Object.extend({
use_inline: false,
el: false,
currentDate: false,
initialize: function(){
this.listenTo(Backbone.Radio.channel('flatpickr'), 'init', this.modifyDatepicker);
var fieldsChannel=Backbone.Radio.channel('fields');
this.listenTo(fieldsChannel, 'change:modelValue', this.clearErrors);
Backbone.Radio.channel('flatpickr').reply('filter:settings', this.filterSettings, this);
this.listenTo(nfRadio.channel('date'), 'change:extra', this.changeTime);
this.listenTo(nfRadio.channel('date'), 'render:view', this.setupInitialState);
},
modifyDatepicker: function(dateObject, fieldModel , view){
if(this.use_inline){
jQuery(this.el).find('.form-control').hide();
}
const minDate=fieldModel.get('min_date'),
maxDate=fieldModel.get('max_date');
if(minDate&&minDate.length > 0) dateObject.set('minDate', minDate);
if(maxDate&&maxDate.length > 0) dateObject.set('maxDate', maxDate);
let enableDisableDates=fieldModel.get('enable_disable_dates');
let restrictedDates=fieldModel.get('restricted_dates');
let dateMode=fieldModel.get('date_mode');
let restrictedWeekdays=fieldModel.get('restricted_weekdays');
if('undefined'==typeof restrictedWeekdays){
restrictedWeekdays=[];
}
let useDateSubmissionLimit=fieldModel.get('use_date_submission_limit');
let submittedDates=fieldModel.get('submitted_dates');
if('undefined'==typeof submittedDates){
submittedDates=[];
}
dateObject.set('disable', [ function(date){
let disableDate=false;
let hasRestrictedDates=('undefined'!=typeof restrictedDates&&null!=restrictedDates&&restrictedDates.length > 0);
let hasRestrictedWeekdays=(restrictedWeekdays.length > 0);
if(hasRestrictedDates||hasRestrictedWeekdays){
let formattedDate=flatpickr.formatDate(date, 'Y-m-d');
let dayOfWeek=date.getDay();
if('enable'==enableDisableDates){
let isInRestrictedDates=hasRestrictedDates&&-1!=restrictedDates.indexOf(formattedDate);
let isInRestrictedWeekdays=hasRestrictedWeekdays&&-1!=restrictedWeekdays.indexOf(dayOfWeek);
if(! isInRestrictedDates&&! isInRestrictedWeekdays){
disableDate=true;
}}else{ // 'disable'
let isInRestrictedDates=hasRestrictedDates&&-1!=restrictedDates.indexOf(formattedDate);
let isInRestrictedWeekdays=hasRestrictedWeekdays&&-1!=restrictedWeekdays.indexOf(dayOfWeek);
if(isInRestrictedDates||isInRestrictedWeekdays){
disableDate=true;
}}
}
if('undefined'!=typeof submittedDates&&useDateSubmissionLimit){
if(-1!=submittedDates.indexOf(flatpickr.formatDate(date, 'Y-m-d') )){
disableDate=true;
}}
return disableDate;
} ]);
let that=this;
dateObject.set('onChange', function(selectedDates, dateStr, instance){
if('date_and_time'!=dateMode){
return false;
}
that.currentDate=selectedDates[0];
that.setupInitialState(view);
});
},
clearErrors: function(model){
if('date'==model.get('type') ){
nfRadio.channel('fields').request('remove:error', model.get('id'), 'required-error');
}},
filterSettings: function(settings, view){
if('undefined'!=typeof view.model.get('use_inline')&&1==view.model.get('use_inline') ){
settings.inline=true;
this.use_inline=true;
this.el=view.el;
}
if('undefined'!=typeof view.model.get('use_date_range')&&1==view.model.get('use_date_range') ){
settings.mode='range';
}
return settings;
},
changeTime: function(e, fieldModel){
if(1!=fieldModel.get('limit_hours')&&1!=fieldModel.get('use_date_submission_limit') ){
return false;
}
this.maybeDisableHours(e.target, fieldModel);
return false;
},
maybeDisableHours: function(select, fieldModel){
let hourSelect=false;
let ampmSelect=false;
if(jQuery(select).hasClass('hour') ){
hourSelect=select;
ampmSelect=jQuery(select).parent().siblings('div').find('.ampm');
}else if(jQuery(select).hasClass('minute') ){
hourSelect=jQuery(select).parent().siblings('div').find('.hour');
ampmSelect=jQuery(select).parent().siblings('div').find('.ampm');
}else{
ampmSelect=select;
hourSelect=jQuery(select).parent().siblings('div').find('.hour');
}
let selectedAmpm=jQuery(ampmSelect).val();
let selectedHour=jQuery(hourSelect).val();
selectedHour=this.convertHourTo24(selectedHour, selectedAmpm);
let earliestHour=this.getEarliestHour(fieldModel);
let latestHour=this.getLatestHour(fieldModel);
let setSelected=false;
let newSelectedVal=false;
let that=this;
jQuery(hourSelect).find('option').each(function(index){
let val=that.convertHourTo24(this.value, selectedAmpm);
if(( parseInt(earliestHour) > val
|| parseInt(latestHour) < val)
&& 1==fieldModel.get('limit_hours')
){
jQuery(this).prop('disabled', true);
if(selectedHour==val){
setSelected=true;
}}else{
jQuery(this).prop('disabled', false);
if(! newSelectedVal){
newSelectedVal=this.value;
}}
});
if(setSelected){
jQuery(hourSelect).val(newSelectedVal);
selectedHour=this.convertHourTo24(newSelectedVal, selectedAmpm);
}
let minuteSelect=jQuery(select).parent().siblings('div').find('.minute');
this.maybeDisableMinutes(fieldModel, selectedHour, minuteSelect, earliestHour, latestHour);
},
maybeDisableMinutes: function(fieldModel, selectedHour, minuteSelect, earliestHour, latestHour){
let selectedMinute=parseInt(jQuery(minuteSelect).val());
let firstMinute=parseInt(fieldModel.get('first_minute') );
let lastMinute=parseInt(fieldModel.get('last_minute') );
let setSelected=false;
let newSelectedVal=false;
let takenMinutes=[];
if(! this.currentDate){
var currentDate='1970-01-01';
}else{
var currentDate=flatpickr.formatDate(this.currentDate, 'Y-m-d');
}
let takenDates=fieldModel.get('taken_dates');
if('undefined'!=typeof takenDates&&'undefined'!=typeof takenDates[ currentDate ]){
var takenTimes=takenDates[ currentDate ];
for (var i=0; i < takenTimes.length; i++){
if(selectedHour==takenTimes[i].hour){
takenMinutes.push(parseInt(takenTimes[i].minute) );
}}
}
jQuery(minuteSelect).find('option').each(function(index){
let val=parseInt(this.value);
if((
1==fieldModel.get('limit_hours')
&&
(
(val < firstMinute&&selectedHour==earliestHour)
||(val > lastMinute&&selectedHour==latestHour)
)
)
||
(
1==fieldModel.get('use_date_submission_limit')
&& -1!=takenMinutes.indexOf(val)
)
){
jQuery(this).prop('disabled', true);
if(val==selectedMinute){
setSelected=true;
}}else{
jQuery(this).prop('disabled', false);
if(! newSelectedVal){
newSelectedVal=this.value;
}}
});
if(setSelected){
jQuery(minuteSelect).val(newSelectedVal);
}
return false;
},
setupInitialState: function(view){
if(1!=view.model.get('limit_hours')&&1!=view.model.get('use_date_submission_limit') ){
return false;
}
let hourSelect=jQuery(view.el).find('.hour');
let minuteSelect=jQuery(view.el).find('.minute');
let ampmSelect=jQuery(view.el).find('.ampm');
if(1!=view.model.get('hours_24')&&1==view.model.get('limit_hours') ){
let earliestHour=this.getEarliestHour(view.model);
let latestHour=this.getLatestHour(view.model);
if(earliestHour >=12){
jQuery(ampmSelect).val('pm');
}
else if(latestHour < 12){
jQuery(ampmSelect).val('am');
}}
if(1==view.model.get('hours_24') ){
this.maybeDisableHours(hourSelect, view.model);
}else{
this.maybeDisableHours(ampmSelect, view.model);
}
return false;
},
convertHourTo24: function(hour, ampm){
if(! ampm){
return hour;
}
hour=parseInt(hour);
if(12==hour&&'am'==ampm){
hour=0;
}else if(12 > hour&&'pm'==ampm){
hour +=12;
}
return hour;
},
getEarliestHour: function(fieldModel){
if(1==fieldModel.get('hours_24') ){
return fieldModel.get('start_hour_24');
}else{
let earliestHour=fieldModel.get('start_hour_12');
let earliestAmpm=fieldModel.get('start_hour_12_ampm');
return this.convertHourTo24(earliestHour, earliestAmpm);
}},
getLatestHour: function(fieldModel){
if(1==fieldModel.get('hours_24') ){
return fieldModel.get('end_hour_24');
}else{
let latestHour=fieldModel.get('end_hour_12');
let latestAmpm=fieldModel.get('end_hour_12_ampm');
return this.convertHourTo24(latestHour, latestAmpm);
}},
});
jQuery(document).ready(function(){
new customFrontendFlatPickr();
});
(function (){
var requirejs, require, define;
(function (undef){
var main, req, makeMap, handlers,
defined={},
waiting={},
config={},
defining={},
hasOwn=Object.prototype.hasOwnProperty,
aps=[].slice,
jsSuffixRegExp=/\.js$/;
function hasProp(obj, prop){
return hasOwn.call(obj, prop);
}
function normalize(name, baseName){
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part,
baseParts=baseName&&baseName.split("/"),
map=config.map,
starMap=(map&&map['*'])||{};
if(name&&name.charAt(0)==="."){
if(baseName){
name=name.split('/');
lastIndex=name.length - 1;
if(config.nodeIdCompat&&jsSuffixRegExp.test(name[lastIndex])){
name[lastIndex]=name[lastIndex].replace(jsSuffixRegExp, '');
}
name=baseParts.slice(0, baseParts.length - 1).concat(name);
for (i=0; i < name.length; i +=1){
part=name[i];
if(part==="."){
name.splice(i, 1);
i -=1;
}else if(part===".."){
if(i===1&&(name[2]==='..'||name[0]==='..')){
break;
}else if(i > 0){
name.splice(i - 1, 2);
i -=2;
}}
}
name=name.join("/");
}else if(name.indexOf('./')===0){
name=name.substring(2);
}}
if((baseParts||starMap)&&map){
nameParts=name.split('/');
for (i=nameParts.length; i > 0; i -=1){
nameSegment=nameParts.slice(0, i).join("/");
if(baseParts){
for (j=baseParts.length; j > 0; j -=1){
mapValue=map[baseParts.slice(0, j).join('/')];
if(mapValue){
mapValue=mapValue[nameSegment];
if(mapValue){
foundMap=mapValue;
foundI=i;
break;
}}
}}
if(foundMap){
break;
}
if(!foundStarMap&&starMap&&starMap[nameSegment]){
foundStarMap=starMap[nameSegment];
starI=i;
}}
if(!foundMap&&foundStarMap){
foundMap=foundStarMap;
foundI=starI;
}
if(foundMap){
nameParts.splice(0, foundI, foundMap);
name=nameParts.join('/');
}}
return name;
}
function makeRequire(relName, forceSync){
return function (){
var args=aps.call(arguments, 0);
if(typeof args[0]!=='string'&&args.length===1){
args.push(null);
}
return req.apply(undef, args.concat([relName, forceSync]));
};}
function makeNormalize(relName){
return function (name){
return normalize(name, relName);
};}
function makeLoad(depName){
return function (value){
defined[depName]=value;
};}
function callDep(name){
if(hasProp(waiting, name)){
var args=waiting[name];
delete waiting[name];
defining[name]=true;
main.apply(undef, args);
}
if(!hasProp(defined, name)&&!hasProp(defining, name)){
throw new Error('No ' + name);
}
return defined[name];
}
function splitPrefix(name){
var prefix,
index=name ? name.indexOf('!'):-1;
if(index > -1){
prefix=name.substring(0, index);
name=name.substring(index + 1, name.length);
}
return [prefix, name];
}
makeMap=function (name, relName){
var plugin,
parts=splitPrefix(name),
prefix=parts[0];
name=parts[1];
if(prefix){
prefix=normalize(prefix, relName);
plugin=callDep(prefix);
}
if(prefix){
if(plugin&&plugin.normalize){
name=plugin.normalize(name, makeNormalize(relName));
}else{
name=normalize(name, relName);
}}else{
name=normalize(name, relName);
parts=splitPrefix(name);
prefix=parts[0];
name=parts[1];
if(prefix){
plugin=callDep(prefix);
}}
return {
f: prefix ? prefix + '!' + name:name,
n: name,
pr: prefix,
p: plugin
};};
function makeConfig(name){
return function (){
return (config&&config.config&&config.config[name])||{};};
}
handlers={
require: function (name){
return makeRequire(name);
},
exports: function (name){
var e=defined[name];
if(typeof e!=='undefined'){
return e;
}else{
return (defined[name]={});
}},
module: function (name){
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};}};
main=function (name, deps, callback, relName){
var cjsModule, depName, ret, map, i,
args=[],
callbackType=typeof callback,
usingExports;
relName=relName||name;
if(callbackType==='undefined'||callbackType==='function'){
deps = !deps.length&&callback.length ? ['require', 'exports', 'module']:deps;
for (i=0; i < deps.length; i +=1){
map=makeMap(deps[i], relName);
depName=map.f;
if(depName==="require"){
args[i]=handlers.require(name);
}else if(depName==="exports"){
args[i]=handlers.exports(name);
usingExports=true;
}else if(depName==="module"){
cjsModule=args[i]=handlers.module(name);
}else if(hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)){
args[i]=callDep(depName);
}else if(map.p){
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i]=defined[depName];
}else{
throw new Error(name + ' missing ' + depName);
}}
ret=callback ? callback.apply(defined[name], args):undefined;
if(name){
if(cjsModule&&cjsModule.exports!==undef &&
cjsModule.exports!==defined[name]){
defined[name]=cjsModule.exports;
}else if(ret!==undef||!usingExports){
defined[name]=ret;
}}
}else if(name){
defined[name]=callback;
}};
requirejs=require=req=function (deps, callback, relName, forceSync, alt){
if(typeof deps==="string"){
if(handlers[deps]){
return handlers[deps](callback);
}
return callDep(makeMap(deps, callback).f);
}else if(!deps.splice){
config=deps;
if(config.deps){
req(config.deps, config.callback);
}
if(!callback){
return;
}
if(callback.splice){
deps=callback;
callback=relName;
relName=null;
}else{
deps=undef;
}}
callback=callback||function (){};
if(typeof relName==='function'){
relName=forceSync;
forceSync=alt;
}
if(forceSync){
main(undef, deps, callback, relName);
}else{
setTimeout(function (){
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
req.config=function (cfg){
return req(cfg);
};
requirejs._defined=defined;
define=function (name, deps, callback){
if(typeof name!=='string'){
throw new Error('See almond README: incorrect module build, no module name');
}
if(!deps.splice){
callback=deps;
deps=[];
}
if(!hasProp(defined, name)&&!hasProp(waiting, name)){
waiting[name]=[name, deps, callback];
}};
define.amd={
jQuery: true
};}());
define("../lib/almond", function(){});
define('models/whenModel',[], function(){
var model=Backbone.Model.extend({
initialize: function(models, options){
if(! this.get('key')||! this.get('comparator') ) return;
if('calc'==this.get('type') ){
var calcModel=nfRadio.channel('form-' + this.collection.options.condition.collection.formModel.get('id') ).request('get:calc', this.get('key') );
if('undefined'==typeof calcModel) return;
this.listenTo(calcModel, 'change:value', this.updateCalcCompare);
this.updateCalcCompare(calcModel);
}else{
var fieldModel=nfRadio.channel('form-' + options.condition.collection.formModel.get('id') ).request('get:fieldByKey', this.get('key') );
if('undefined'==typeof fieldModel) return;
fieldModel.on('change:value', this.updateFieldCompare, this);
this.listenTo(nfRadio.channel('field-' + fieldModel.get('id') ), 'keyup:field', this.maybeupdateFieldCompare);
this.updateFieldCompare(fieldModel);
fieldModel.on('change:visible', this.updateFieldCompare, this);
}},
updateCalcCompare: function(calcModel){
this.updateCompare(calcModel.get('value') );
},
maybeupdateFieldCompare: function(el, fieldModel, keyCode){
if('checkbox'==fieldModel.get('type') ){
var fieldValue=('checked'==jQuery(el).attr('checked') ) ? 1:0;
}else if('listcheckbox'==fieldModel.get('type') ){
var fieldValue=fieldModel.get('value').join();
}else if('listradio'==fieldModel.get('type') ){
var fieldValue=fieldModel.get('value');
}else if('date'==fieldModel.get ('type') ){
var fieldValue=fieldModel.get('value');
if(_.isEmpty(fieldValue) ){
if(1==fieldModel.get('date_default') ){
var now=new Date();
fieldValue=now.getFullYear() + '/' +('0' +(now.getMonth() + 1) ).slice(-2) + '/' +('0' + now.getDate()).slice(-2);
}else{
fieldValue='1970/01/01';
}}
let date_mode=fieldModel.get('date_mode');
if('undefined'==typeof date_mode){
date_mode='date_only';
}
let date=0;
if('time_only'==fieldModel.get('date_mode') ){
date='1970/01/01';
}else{
date=fieldValue;
}
let hour=fieldModel.get('selected_hour');
if('undefined'==typeof hour){
hour='00';
}
let minute=fieldModel.get('selected_minute');
if('undefined'==typeof minute){
minute='00';
}
if('date_and_time'==date_mode&&'1970/01/01'==date){
fieldValue=false;
}else{
fieldValue=date + ' ' + hour + ':' + minute + ' UT';
let dateObject=new Date(fieldValue);
fieldValue=Math.floor(dateObject.getTime() / 1000);
}}else{
var fieldValue=jQuery(el).val();
}
this.updateFieldCompare(fieldModel, null, fieldValue);
},
updateCompare: function(value){
var this_val=this.get('value');
if('calc'===this.get('type') ){
this_val=Number(this_val);
value=Number(value);
}
var status=this.compareValues[ this.get('comparator') ](value, this_val);
this.set('status', status);
},
updateFieldCompare: function(fieldModel, val, fieldValue){
if(_.isEmpty(fieldValue) ){
fieldValue=fieldModel.get('value');
}
if('checkbox'==fieldModel.get('type') ){
if(0==fieldValue){
fieldValue='unchecked';
}else{
fieldValue='checked';
}}else if('date'==fieldModel.get('type') ){
if(_.isEmpty(fieldValue) ){
if(1==fieldModel.get('date_default') ){
var now=new Date();
fieldValue=now.getFullYear() + '/' +('0' +(now.getMonth() + 1) ).slice(-2) + '/' +('0' + now.getDate()).slice(-2);
}else{
fieldValue='1970/01/01';
}}
let date_mode=fieldModel.get('date_mode');
if('undefined'==typeof date_mode){
date_mode='date_only';
}
let date=0;
if('time_only'==fieldModel.get('date_mode') ){
date='1970/01/01';
}else{
date=fieldValue;
}
let hour=fieldModel.get('selected_hour');
if('undefined'==typeof hour){
hour='00';
}
let ampm=fieldModel.get('selected_ampm');
if('undefined'!=typeof ampm){
if('pm'==ampm&&'12'!=hour){
hour=parseInt(hour) + 12;
}else if('am'==ampm&&'12'==hour){
hour='00';
}}
let minute=fieldModel.get('selected_minute');
if('undefined'==typeof minute){
minute='00';
}
if('date_and_time'==date_mode&&'1970/01/01'==date){
fieldValue=false;
}else{
fieldValue=date + ' ' + hour + ':' + minute + ' UT';
let dateObject=new Date(fieldValue);
fieldValue=Math.floor(dateObject.getTime() / 1000);
}}
this.updateCompare(fieldValue);
if(! fieldModel.get('visible') ){
this.set('status', false);
}},
compareValues: {
'equal': function(a, b){
return a==b;
},
'notequal': function(a, b){
return a!=b;
},
'contains': function(a, b){
if(jQuery.isArray(a) ){
return a.indexOf(b) >=0;
}else{
if(b.indexOf('"') >=0){
b=b.replace(/['"]+/g, '');
return new RegExp("\\b" + b + "\\b").test(a);
}
return a.toLowerCase().indexOf(b.toLowerCase()) >=0;
}},
'notcontains': function(a, b){
return ! this.contains(a, b);
},
'greater': function(a, b){
if(jQuery.isNumeric(b) ){
return parseFloat(a) > parseFloat(b);
}else if('string'==typeof a){
return 0 < a.length;
}},
'less': function(a, b){
if(jQuery.isNumeric(b) ){
return parseFloat(a) < parseFloat(b);
}else if('string'==typeof a){
return 0 >=a.length;
}},
'greaterequal': function(a, b){
return parseFloat(a) > parseFloat(b)||parseFloat(a)==parseFloat(b);
},
'lessequal': function(a, b){
return parseFloat(a) < parseFloat(b)||parseFloat(a)==parseFloat(b);
}}
});
return model;
});
define('models/whenCollection',['models/whenModel'], function(WhenModel){
var collection=Backbone.Collection.extend({
model: WhenModel,
initialize: function(models, options){
this.options=options;
}});
return collection;
});
define('models/conditionModel',[ 'models/whenCollection' ], function(WhenCollection){
var model=Backbone.Model.extend({
initialize: function(options){
this.set('when', new WhenCollection(this.get('when'), { condition: this }) );
this.get('when').on('change:status', this.checkWhen, this);
setTimeout(function(){
this.checkWhen();
}.bind(this), 0);
},
checkWhen: function(){
var statusResults=this.get('when').pluck('status');
var connectors=this.get('when').pluck('connector');
var allAND=_.every(_.values(connectors), function(v){ return v=='AND' }, this);
if(allAND){
var status=_.every(_.values(statusResults), function(v){ return v; }, this);
}else{
var status=_.some(_.values(statusResults), function(v){ return v; }, this);
}
if(status){
_.each(this.get('then'), function(then, index){
nfRadio.channel('condition:trigger').request(then.trigger, this, then);
}, this);
}else{
_.each(this.get('else'), function(elseData, index){
nfRadio.channel('condition:trigger').request(elseData.trigger, this, elseData);
}, this);
}}
});
return model;
});
define('models/conditionCollection',['models/conditionModel'], function(ConditionModel){
var collection=Backbone.Collection.extend({
model: ConditionModel,
initialize: function(models, options){
this.formModel=options.formModel;
}});
return collection;
});
define('controllers/initCollection',[ 'models/conditionCollection' ], function(ConditionCollection){
var controller=Marionette.Object.extend({
initialize: function(formModel){
this.collection=new ConditionCollection(formModel.get('conditions'), { formModel: formModel });
this.listenTo(nfRadio.channel('fields'), 'reset:collection', this.resetCollection);
},
resetCollection: function(fieldsCollection){
var formModel=fieldsCollection.options.formModel;
this.collection=new ConditionCollection(formModel.get('conditions'), { formModel: formModel });
}});
return controller;
});
define('controllers/showHide',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('hide_field', this.hideField, this);
nfRadio.channel('condition:trigger').reply('show_field', this.showField, this);
},
hideField: function(conditionModel, then){
var formId=conditionModel.collection.formModel.get('id');
var targetFieldModel=nfRadio.channel('form-' + formId).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('visible', false);
if(! targetFieldModel.get('clean') ){
targetFieldModel.trigger('change:value', targetFieldModel);
}
nfRadio.channel('fields').request('remove:error', targetFieldModel.get('id'), 'required-error');
if('repeater'===targetFieldModel.get('type') ){
this.setRepeaterChildrenVisible(targetFieldModel, false);
}},
setRepeaterChildrenVisible: function(repeaterModel, visible){
var sets=repeaterModel.get('sets');
if(! sets) return;
sets.each(function(set){
var fields=set.get('fields');
if(! fields) return;
fields.each(function(fieldModel){
fieldModel.set('visible', visible);
if(! visible){
nfRadio.channel('fields').request('remove:error', fieldModel.get('id'), 'required-error');
}});
});
},
showField: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('visible', true);
if(! targetFieldModel.get('clean') ){
targetFieldModel.trigger('change:value', targetFieldModel);
}
if('repeater'===targetFieldModel.get('type') ){
this.setRepeaterChildrenVisible(targetFieldModel, true);
}
if('recaptcha'===targetFieldModel.get('type') ){
this.renderRecaptcha();
}
if('turnstile'===targetFieldModel.get('type') ){
this.renderTurnstile();
}
var viewEl={ el: nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:el') };
nfRadio.channel('form').request('init:help', viewEl);
},
renderRecaptcha: function(){
jQuery('.g-recaptcha').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('recaptcha').request('update:response', response, fieldID);
};}
var opts={
theme: jQuery(this).data('theme'),
sitekey: jQuery(this).data('sitekey'),
callback: callback
};
grecaptcha.render(jQuery(this)[0], opts);
});
},
renderTurnstile: function(){
if(typeof turnstile==='undefined'){
return;
}
jQuery('.cf-turnstile, .nf-cf-turnstile').each(function(){
var element=this;
var sitekey=jQuery(element).data('sitekey');
var fieldID=jQuery(element).data('fieldid');
if(! sitekey||jQuery(element).children().length > 0){
return;
}
try {
var callbackName='nfTurnstileCallback_' + fieldID;
window[ callbackName ]=function(token){
var input=document.getElementById('nf-field-' + fieldID);
if(input){
input.value=token;
jQuery(input).trigger('change');
jQuery(input).closest('.field-wrap').removeClass('nf-error');
jQuery(input).closest('.field-wrap').find('.nf-error-msg').remove();
}
if(typeof nfRadio!=='undefined'&&nfRadio.channel){
try {
nfRadio.channel('turnstile').request('update:response', token, fieldID);
} catch(e){
}}
};
turnstile.render(element, {
sitekey: sitekey,
theme: jQuery(element).data('theme')||'auto',
size: jQuery(element).data('size')||'normal',
callback: callbackName
});
} catch(e){
}});
}});
return controller;
});
define('controllers/changeRequired',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('set_required', this.setRequired, this);
nfRadio.channel('condition:trigger').reply('unset_required', this.unsetRequired, this);
},
setRequired: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('required', 1);
targetFieldModel.trigger('reRender', targetFieldModel);
},
unsetRequired: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('undefined'==typeof targetFieldModel) return;
targetFieldModel.set('required', 0);
targetFieldModel.trigger('reRender', targetFieldModel);
nfRadio.channel('fields').request('remove:error', targetFieldModel.get('id'), 'required-error');
}});
return controller;
});
define('controllers/showHideOption',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('show_option', this.showOption, this);
nfRadio.channel('condition:trigger').reply('hide_option', this.hideOption, this);
},
showOption: function(conditionModel, then){
var option=this.getOption(conditionModel, then);
option.visible=true;
this.updateFieldModel(conditionModel, then);
},
hideOption: function(conditionModel, then){
var option=this.getOption(conditionModel, then);
option.visible=false;
this.updateFieldModel(conditionModel, then);
},
getFieldModel: function(conditionModel, then){
return nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
},
getOption: function(conditionModel, then){
var targetFieldModel=this.getFieldModel(conditionModel, then);
var options=targetFieldModel.get('options');
return _.find(options, function(option){ return option.value==then.value });
},
updateFieldModel: function(conditionModel, then){
var targetFieldModel=this.getFieldModel(conditionModel, then);
var options=targetFieldModel.get('options');
targetFieldModel.set('options', options);
targetFieldModel.trigger('reRender');
}});
return controller;
});
define('controllers/changeValue',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('change_value', this.changeValue, this);
},
changeValue: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if('checkbox'==targetFieldModel.get('type') ){
if('unchecked'==targetFieldModel.changed.value){
then.value=1;
}else if('checked'==targetFieldModel){
then.value=0;
}}
targetFieldModel.set('value', then.value);
targetFieldModel.trigger('reRender', targetFieldModel);
},
});
return controller;
});
define('controllers/selectDeselect',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('select_option', this.selectOption, this);
nfRadio.channel('condition:trigger').reply('deselect_option', this.deselectOption, this);
},
selectOption: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
if(_.contains([ 'listselect', 'listcountry', 'liststate' ], targetFieldModel.get('type') )){
targetFieldModel.set('clean', false);
}
var options=targetFieldModel.get('options');
var option=_.find(options, { value: then.value });
option.selected=1;
targetFieldModel.set('options', options);
if(_.contains([ 'listselect', 'listcountry', 'liststate' ], targetFieldModel.get('type') )){
targetFieldModel.set('value', option.value);
}else{
var value=targetFieldModel.get('value');
if(_.isArray(value) ){
if(0 > value.indexOf(option.value) ){
value.push(option.value);
targetFieldModel.set('value', '');
}}else{
value=option.value;
}
targetFieldModel.set('value', value);
}
targetFieldModel.trigger('reRender', targetFieldModel);
},
deselectOption: function(conditionModel, then){
var targetFieldModel=nfRadio.channel('form-' + conditionModel.collection.formModel.get('id') ).request('get:fieldByKey', then.key);
var options=targetFieldModel.get('options');
var option=_.find(options, { value: then.value });
option.selected=0;
targetFieldModel.set('options', options);
var currentValue=targetFieldModel.get('value');
if(_.isArray(currentValue) ){
currentValue=_.without(currentValue, then.value);
}else{
currentValue='';
}
targetFieldModel.set('value', currentValue);
targetFieldModel.trigger('reRender', targetFieldModel);
},
});
return controller;
});
define('controllers/actions',[], function(){
var controller=Marionette.Object.extend({
actions: {},
initialize: function(){
nfRadio.channel('condition:trigger').reply('activate_action', this.activateAction, this);
nfRadio.channel('condition:trigger').reply('deactivate_action', this.deactivateAction, this);
nfRadio.channel('actions').reply('get:status', this.getStatus, this);
},
activateAction: function(conditionModel, thenObject){
this.actions[ thenObject.key ]=true;
console.log('activate action');
},
deactivateAction: function(conditionModel, thenObject){
console.log('deactivate action');
this.actions[ thenObject.key ]=false;
},
getStatus: function($id){
return this.actions[ $id ];
}});
return controller;
});
var nfRadio=Backbone.Radio;
require([ 'controllers/initCollection', 'controllers/showHide', 'controllers/changeRequired', 'controllers/showHideOption', 'controllers/changeValue', 'controllers/selectDeselect', 'controllers/actions' ], function(InitCollection, ShowHide, ChangeRequired, ShowHideOption, ChangeValue, SelectDeselect, Actions){
var NFConditionalLogic=Marionette.Application.extend({
initialize: function(options){
this.listenTo(nfRadio.channel('form'), 'after:loaded', this.loadControllers);
},
loadControllers: function(formModel){
new ShowHide();
new ChangeRequired();
new ShowHideOption();
new ChangeValue();
new SelectDeselect();
new Actions();
new InitCollection(formModel);
},
onStart: function(){
}});
var nfConditionalLogic=new NFConditionalLogic();
nfConditionalLogic.start();
});
define("main", function(){});
}());
!function(c){var w=window.wpApiSettings;function t(e){return e=t.buildAjaxOptions(e),t.transport(e)}t.buildAjaxOptions=function(e){var t,n,a,p,o,r,i=e.url,d=e.path,s=e.method;for(r in"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(t=e.namespace.replace(/^\/|\/$/g,""),d=(n=e.endpoint.replace(/^\//,""))?t+"/"+n:t),"string"==typeof d&&(n=w.root,d=d.replace(/^\//,""),"string"==typeof n&&-1!==n.indexOf("?")&&(d=d.replace("?","&")),i=n+d),p=!(e.data&&e.data._wpnonce),o=!0,a=e.headers||{})if(a.hasOwnProperty(r))switch(r.toLowerCase()){case"x-wp-nonce":p=!1;break;case"accept":o=!1}return p&&(a=c.extend({"X-WP-Nonce":w.nonce},a)),o&&(a=c.extend({Accept:"application/json, */*;q=0.1"},a)),"string"!=typeof s||"PUT"!==(s=s.toUpperCase())&&"DELETE"!==s||(a=c.extend({"X-HTTP-Method-Override":s},a),s="POST"),delete(e=c.extend({},e,{headers:a,url:i,method:s})).path,delete e.namespace,delete e.endpoint,e},t.transport=c.ajax,window.wp=window.wp||{},window.wp.apiRequest=t}(jQuery);
!function(e){"use strict";e.wp=e.wp||{},wp.api=wp.api||new function(){this.models={},this.collections={},this.views={}},wp.api.versionString=wp.api.versionString||"wp/v2/",!_.isFunction(_.includes)&&_.isFunction(_.contains)&&(_.includes=_.contains)}(window),function(e){"use strict";var t,i;e.wp=e.wp||{},wp.api=wp.api||{},wp.api.utils=wp.api.utils||{},wp.api.getModelByRoute=function(t){return _.find(wp.api.models,function(e){return e.prototype.route&&t===e.prototype.route.index})},wp.api.getCollectionByRoute=function(t){return _.find(wp.api.collections,function(e){return e.prototype.route&&t===e.prototype.route.index})},Date.prototype.toISOString||(t=function(e){return i=1===(i=String(e)).length?"0"+i:i},Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+t(this.getUTCMonth()+1)+"-"+t(this.getUTCDate())+"T"+t(this.getUTCHours())+":"+t(this.getUTCMinutes())+":"+t(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1e3).toFixed(3)).slice(2,5)+"Z"}),wp.api.utils.parseISO8601=function(e){var t,i,n,o,s=0,a=[1,4,5,6,7,10,11];if(i=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(e)){for(n=0;o=a[n];++n)i[o]=+i[o]||0;i[2]=(+i[2]||1)-1,i[3]=+i[3]||1,"Z"!==i[8]&&void 0!==i[9]&&(s=60*i[10]+i[11],"+"===i[9])&&(s=0-s),t=Date.UTC(i[1],i[2],i[3],i[4],i[5]+s,i[6],i[7])}else t=Date.parse?Date.parse(e):NaN;return t},wp.api.utils.getRootUrl=function(){return e.location.origin?e.location.origin+"/":e.location.protocol+"//"+e.location.host+"/"},wp.api.utils.capitalize=function(e){return _.isUndefined(e)?e:e.charAt(0).toUpperCase()+e.slice(1)},wp.api.utils.capitalizeAndCamelCaseDashes=function(e){return _.isUndefined(e)?e:(e=wp.api.utils.capitalize(e),wp.api.utils.camelCaseDashes(e))},wp.api.utils.camelCaseDashes=function(e){return e.replace(/-([a-z])/g,function(e){return e[1].toUpperCase()})},wp.api.utils.extractRoutePart=function(e,t,i,n){return t=t||1,i=i||wp.api.versionString,i=(e=0===e.indexOf("/"+i)?e.substr(i.length+1):e).split("/"),n&&(i=i.reverse()),_.isUndefined(i[--t])?"":i[t]},wp.api.utils.extractParentName=function(e){var t=e.lastIndexOf("_id>[\\d]+)/");return t<0?"":((e=(e=e.substr(0,t-1)).split("/")).pop(),e.pop())},wp.api.utils.decorateFromRoute=function(e,t){_.each(e,function(e){_.includes(e.methods,"POST")||_.includes(e.methods,"PUT")?_.isEmpty(e.args)||(_.isEmpty(t.prototype.args)?t.prototype.args=e.args:t.prototype.args=_.extend(t.prototype.args,e.args)):_.includes(e.methods,"GET")&&!_.isEmpty(e.args)&&(_.isEmpty(t.prototype.options)?t.prototype.options=e.args:t.prototype.options=_.extend(t.prototype.options,e.args))})},wp.api.utils.addMixinsAndHelpers=function(t,e,i){function n(e,t,i,n,o){var s,a=jQuery.Deferred(),e=e.get("_embedded")||{};return _.isNumber(t)&&0!==t?(s=(s=e[n]?_.findWhere(e[n],{id:t}):s)||{id:t},(e=new wp.api.models[i](s)).get(o)?a.resolve(e):e.fetch({success:function(e){a.resolve(e)},error:function(e,t){a.reject(t)}}),a.promise()):(a.reject(),a)}function p(e,t){_.each(e.models,function(e){e.set("parent_post",t)})}var o=!1,s=["date","modified","date_gmt","modified_gmt"],a={setDate:function(e,t){t=t||"date";if(_.indexOf(s,t)<0)return!1;this.set(t,e.toISOString())},getDate:function(e){var e=e||"date",t=this.get(e);return!(_.indexOf(s,e)<0||_.isNull(t))&&new Date(wp.api.utils.parseISO8601(t))}},r={getMeta:function(e){return this.get("meta")[e]},getMetas:function(){return this.get("meta")},setMetas:function(e){var t=this.get("meta");_.extend(t,e),this.set("meta",t)},setMeta:function(e,t){var i=this.get("meta");i[e]=t,this.set("meta",i)}},c={getRevisions:function(){return e=this,t="PostRevisions",s=o="",a=jQuery.Deferred(),r=e.get("id"),e=e.get("_embedded")||{},_.isNumber(r)&&0!==r?(_.isUndefined(i)||_.isUndefined(e[i])?o={parent:r}:s=_.isUndefined(n)?e[i]:e[i][n],e=new wp.api.collections[t](s,o),_.isUndefined(e.models[0])?e.fetch({success:function(e){p(e,r),a.resolve(e)},error:function(e,t){a.reject(t)}}):(p(e,r),a.resolve(e)),a.promise()):(a.reject(),a);var e,t,i,n,o,s,a,r}},d={getTags:function(){var e=this.get("tags"),t=new wp.api.collections.Tags;return _.isEmpty(e)?jQuery.Deferred().resolve([]):t.fetch({data:{include:e}})},setTags:function(e){var i,n=this,o=[];if(_.isString(e))return!1;_.isArray(e)?(new wp.api.collections.Tags).fetch({data:{per_page:100},success:function(t){_.each(e,function(e){(i=new wp.api.models.Tag(t.findWhere({slug:e}))).set("parent_post",n.get("id")),o.push(i)}),e=new wp.api.collections.Tags(o),n.setTagsWithCollection(e)}}):this.setTagsWithCollection(e)},setTagsWithCollection:function(e){return this.set("tags",e.pluck("id")),this.save()}},l={getCategories:function(){var e=this.get("categories"),t=new wp.api.collections.Categories;return _.isEmpty(e)?jQuery.Deferred().resolve([]):t.fetch({data:{include:e}})},setCategories:function(e){var i,n=this,o=[];if(_.isString(e))return!1;_.isArray(e)?(new wp.api.collections.Categories).fetch({data:{per_page:100},success:function(t){_.each(e,function(e){(i=new wp.api.models.Category(t.findWhere({slug:e}))).set("parent_post",n.get("id")),o.push(i)}),e=new wp.api.collections.Categories(o),n.setCategoriesWithCollection(e)}}):this.setCategoriesWithCollection(e)},setCategoriesWithCollection:function(e){return this.set("categories",e.pluck("id")),this.save()}},u={getAuthorUser:function(){return n(this,this.get("author"),"User","author","name")}},g={getFeaturedMedia:function(){return n(this,this.get("featured_media"),"Media","wp:featuredmedia","source_url")}};return t=_.isUndefined(t.prototype.args)||(_.each(s,function(e){_.isUndefined(t.prototype.args[e])||(o=!0)}),o&&(t=t.extend(a)),_.isUndefined(t.prototype.args.author)||(t=t.extend(u)),_.isUndefined(t.prototype.args.featured_media)||(t=t.extend(g)),_.isUndefined(t.prototype.args.categories)||(t=t.extend(l)),_.isUndefined(t.prototype.args.meta)||(t=t.extend(r)),_.isUndefined(t.prototype.args.tags)||(t=t.extend(d)),_.isUndefined(i.collections[e+"Revisions"]))?t:t.extend(c)}}(window),function(){"use strict";var i=window.wpApiSettings||{},e=["Comment","Media","Comment","Post","Page","Status","Taxonomy","Type"];wp.api.WPApiBaseModel=Backbone.Model.extend({initialize:function(){-1===_.indexOf(e,this.name)&&(this.requireForceForDelete=!0)},sync:function(e,t,i){var n;return i=i||{},_.isNull(t.get("date_gmt"))&&t.unset("date_gmt"),_.isEmpty(t.get("slug"))&&t.unset("slug"),_.isFunction(t.nonce)&&!_.isEmpty(t.nonce())&&(n=i.beforeSend,i.beforeSend=function(e){if(e.setRequestHeader("X-WP-Nonce",t.nonce()),n)return n.apply(this,arguments)},i.complete=function(e){e=e.getResponseHeader("X-WP-Nonce");e&&_.isFunction(t.nonce)&&t.nonce()!==e&&t.endpointModel.set("nonce",e)}),this.requireForceForDelete&&"delete"===e&&(t.url=t.url()+"?force=true"),Backbone.sync(e,t,i)},save:function(e,t){return!(!_.includes(this.methods,"PUT")&&!_.includes(this.methods,"POST"))&&Backbone.Model.prototype.save.call(this,e,t)},destroy:function(e){return!!_.includes(this.methods,"DELETE")&&Backbone.Model.prototype.destroy.call(this,e)}}),wp.api.models.Schema=wp.api.WPApiBaseModel.extend({defaults:{_links:{},namespace:null,routes:{}},initialize:function(e,t){t=t||{},wp.api.WPApiBaseModel.prototype.initialize.call(this,e,t),this.apiRoot=t.apiRoot||i.root,this.versionString=t.versionString||i.versionString},url:function(){return this.apiRoot+this.versionString}})}(),function(){"use strict";window.wpApiSettings;wp.api.WPApiBaseCollection=Backbone.Collection.extend({initialize:function(e,t){this.state={data:{},currentPage:null,totalPages:null,totalObjects:null},_.isUndefined(t)?this.parent="":this.parent=t.parent},sync:function(e,t,i){var n,o,s=this;return i=i||{},_.isFunction(t.nonce)&&!_.isEmpty(t.nonce())&&(n=i.beforeSend,i.beforeSend=function(e){if(e.setRequestHeader("X-WP-Nonce",t.nonce()),n)return n.apply(s,arguments)},i.complete=function(e){e=e.getResponseHeader("X-WP-Nonce");e&&_.isFunction(t.nonce)&&t.nonce()!==e&&t.endpointModel.set("nonce",e)}),"read"===e&&(i.data?(s.state.data=_.clone(i.data),delete s.state.data.page):s.state.data=i.data={},void 0===i.data.page?(s.state.currentPage=null,s.state.totalPages=null,s.state.totalObjects=null):s.state.currentPage=i.data.page-1,o=i.success,i.success=function(e,t,i){if(_.isUndefined(i)||(s.state.totalPages=parseInt(i.getResponseHeader("x-wp-totalpages"),10),s.state.totalObjects=parseInt(i.getResponseHeader("x-wp-total"),10)),null===s.state.currentPage?s.state.currentPage=1:s.state.currentPage++,o)return o.apply(this,arguments)}),Backbone.sync(e,t,i)},more:function(e){if((e=e||{}).data=e.data||{},_.extend(e.data,this.state.data),void 0===e.data.page){if(!this.hasMore())return!1;null===this.state.currentPage||this.state.currentPage<=1?e.data.page=2:e.data.page=this.state.currentPage+1}return this.fetch(e)},hasMore:function(){return null===this.state.totalPages||null===this.state.totalObjects||null===this.state.currentPage?null:this.state.currentPage<this.state.totalPages}})}(),function(){"use strict";var o,s={},c=window.wpApiSettings||{};window.wp=window.wp||{},wp.api=wp.api||{},_.isEmpty(c)&&(c.root=window.location.origin+"/wp-json/"),o=Backbone.Model.extend({defaults:{apiRoot:c.root,versionString:wp.api.versionString,nonce:null,schema:null,models:{},collections:{}},initialize:function(){var e,t=this;Backbone.Model.prototype.initialize.apply(t,arguments),e=jQuery.Deferred(),t.schemaConstructed=e.promise(),t.schemaModel=new wp.api.models.Schema(null,{apiRoot:t.get("apiRoot"),versionString:t.get("versionString"),nonce:t.get("nonce")}),t.schemaModel.once("change",function(){t.constructFromSchema(),e.resolve(t)}),t.get("schema")?t.schemaModel.set(t.schemaModel.parse(t.get("schema"))):!_.isUndefined(sessionStorage)&&(_.isUndefined(c.cacheSchema)||c.cacheSchema)&&sessionStorage.getItem("wp-api-schema-model"+t.get("apiRoot")+t.get("versionString"))?t.schemaModel.set(t.schemaModel.parse(JSON.parse(sessionStorage.getItem("wp-api-schema-model"+t.get("apiRoot")+t.get("versionString"))))):t.schemaModel.fetch({success:function(e){if(!_.isUndefined(sessionStorage)&&(_.isUndefined(c.cacheSchema)||c.cacheSchema))try{sessionStorage.setItem("wp-api-schema-model"+t.get("apiRoot")+t.get("versionString"),JSON.stringify(e))}catch(e){}},error:function(e){window.console.log(e)}})},constructFromSchema:function(){var s=this,a=c.mapping||{models:{Categories:"Category",Comments:"Comment",Pages:"Page",PagesMeta:"PageMeta",PagesRevisions:"PageRevision",Posts:"Post",PostsCategories:"PostCategory",PostsRevisions:"PostRevision",PostsTags:"PostTag",Schema:"Schema",Statuses:"Status",Tags:"Tag",Taxonomies:"Taxonomy",Types:"Type",Users:"User"},collections:{PagesMeta:"PageMeta",PagesRevisions:"PageRevisions",PostsCategories:"PostCategories",PostsMeta:"PostMeta",PostsRevisions:"PostRevisions",PostsTags:"PostTags"}},e=s.get("modelEndpoints"),i=new RegExp("(?:.*[+)]|/("+e.join("|")+"))$"),n=[],o=[],r=s.get("apiRoot").replace(wp.api.utils.getRootUrl(),""),p={models:{},collections:{}};_.each(s.schemaModel.get("routes"),function(e,t){t!==s.get(" versionString")&&t!==r&&t!=="/"+s.get("versionString").slice(0,-1)&&(i.test(t)?n:o).push({index:t,route:e})}),_.each(n,function(e){var t,i=wp.api.utils.extractRoutePart(e.index,2,s.get("versionString"),!0),n=wp.api.utils.extractRoutePart(e.index,1,s.get("versionString"),!1),o=wp.api.utils.extractRoutePart(e.index,1,s.get("versionString"),!0);n===s.get("versionString")&&(n=""),"me"===o&&(i="me"),""!==n&&n!==i?(t=wp.api.utils.capitalizeAndCamelCaseDashes(n)+wp.api.utils.capitalizeAndCamelCaseDashes(i),t=a.models[t]||t,p.models[t]=wp.api.WPApiBaseModel.extend({url:function(){var e=s.get("apiRoot")+s.get("versionString")+n+"/"+(_.isUndefined(this.get("parent"))||0===this.get("parent")?_.isUndefined(this.get("parent_post"))?"":this.get("parent_post")+"/":this.get("parent")+"/")+i;return _.isUndefined(this.get("id"))||(e+="/"+this.get("id")),e},nonce:function(){return s.get("nonce")},endpointModel:s,route:e,name:t,methods:e.route.methods,endpoints:e.route.endpoints})):(t=wp.api.utils.capitalizeAndCamelCaseDashes(i),t=a.models[t]||t,p.models[t]=wp.api.WPApiBaseModel.extend({url:function(){var e=s.get("apiRoot")+s.get("versionString")+("me"===i?"users/me":i);return _.isUndefined(this.get("id"))||(e+="/"+this.get("id")),e},nonce:function(){return s.get("nonce")},endpointModel:s,route:e,name:t,methods:e.route.methods,endpoints:e.route.endpoints})),wp.api.utils.decorateFromRoute(e.route.endpoints,p.models[t],s.get("versionString"))}),_.each(o,function(e){var t,i,n=e.index.slice(e.index.lastIndexOf("/")+1),o=wp.api.utils.extractRoutePart(e.index,1,s.get("versionString"),!1);""!==o&&o!==n&&s.get("versionString")!==o?(t=wp.api.utils.capitalizeAndCamelCaseDashes(o)+wp.api.utils.capitalizeAndCamelCaseDashes(n),i=a.models[t]||t,t=a.collections[t]||t,p.collections[t]=wp.api.WPApiBaseCollection.extend({url:function(){return s.get("apiRoot")+s.get("versionString")+o+"/"+(_.isUndefined(this.parent)||""===this.parent?_.isUndefined(this.get("parent_post"))?"":this.get("parent_post")+"/":this.parent+"/")+n},model:function(e,t){return new p.models[i](e,t)},nonce:function(){return s.get("nonce")},endpointModel:s,name:t,route:e,methods:e.route.methods})):(t=wp.api.utils.capitalizeAndCamelCaseDashes(n),i=a.models[t]||t,t=a.collections[t]||t,p.collections[t]=wp.api.WPApiBaseCollection.extend({url:function(){return s.get("apiRoot")+s.get("versionString")+n},model:function(e,t){return new p.models[i](e,t)},nonce:function(){return s.get("nonce")},endpointModel:s,name:t,route:e,methods:e.route.methods})),wp.api.utils.decorateFromRoute(e.route.endpoints,p.collections[t])}),_.each(p.models,function(e,t){p.models[t]=wp.api.utils.addMixinsAndHelpers(e,t,p)}),s.set("models",p.models),s.set("collections",p.collections)}}),wp.api.endpoints=new Backbone.Collection,wp.api.init=function(e){var t,i,n={};return e=e||{},n.nonce=_.isString(e.nonce)?e.nonce:c.nonce||"",n.apiRoot=e.apiRoot||c.root||"/wp-json",n.versionString=e.versionString||c.versionString||"wp/v2/",n.schema=e.schema||null,n.modelEndpoints=e.modelEndpoints||["me","settings"],n.schema||n.apiRoot!==c.root||n.versionString!==c.versionString||(n.schema=c.schema),s[n.apiRoot+n.versionString]||(e=(e=wp.api.endpoints.findWhere({apiRoot:n.apiRoot,versionString:n.versionString}))||new o(n),i=(t=jQuery.Deferred()).promise(),e.schemaConstructed.done(function(e){wp.api.endpoints.add(e),wp.api.models=_.extend(wp.api.models,e.get("models")),wp.api.collections=_.extend(wp.api.collections,e.get("collections")),t.resolve(e)}),s[n.apiRoot+n.versionString]=i),s[n.apiRoot+n.versionString]},wp.api.loadPromise=wp.api.init()}();
var nfCookieMonster={set:function(e,t,n,i,o){var s=new Date,r="",a=typeof t,l="",d="";if(i=i||"/",n&&(s.setTime(s.getTime()+24*n*60*60*1e3),r="; expires="+s.toUTCString()),"object"==a&&"undefined"!=a){if(!("JSON"in window))throw"Bummer, your browser doesn't support JSON parsing.";l=encodeURIComponent(JSON.stringify({v:t}))}else l=encodeURIComponent(t);o&&(d="; secure"),document.cookie=e+"="+l+r+"; path="+i+d},get:function(e){for(var t,n=e+"=",i=document.cookie.split(";"),o="",s=0;s<i.length;s++){for(var r=i[s];" "==r.charAt(0);)r=r.substring(1,r.length);if(0===r.indexOf(n)){if("{"==(o=decodeURIComponent(r.substring(n.length,r.length))).substring(0,1))try{if("v"in(t=JSON.parse(o)))return t.v}catch(e){return o}return"undefined"==o?void 0:o}}return null},remove:function(e){this.set(e,"",-1)},increment:function(e,t){var n=this.get(e)||0;this.set(e,parseInt(n,10)+1,t)},decrement:function(e,t){var n=this.get(e)||0;this.set(e,parseInt(n,10)-1,t)}},nfSaveProgressActiveController=Marionette.Object.extend({endpoint:nfSaveProgress.restApiEndpoint||"",initialize:function(e){this.listenTo(Backbone.Radio.channel("form"),"loaded",this.onFormLoaded),this.listenTo(Backbone.Radio.channel("form"),"render:view",this.onFormRenderView)},onFormLoaded:function(e){e=e.get("save_progress_actions");void 0!==e&&_.each(e,function(e,t){void 0!==e.active&&Backbone.Radio.channel("actions-"+t).reply("get:status",function(){return 1==e.active})})},onFormRenderView:function(e){if(nfSaveProgress.currentUserID){var e=e.model,t=e.get("id");t.toString().split("_")[0];if(void 0!==e.get("fields").findWhere({type:"save"}))return e.get("save_progress_allow_multiple")?this.renderSaveTable(e):this.loadLastSave(e);jQuery("#nf-form-"+t+"-cont .nf-saves-cont").remove()}},loadLastSave:function(i){var o=new SavesLoadingView,e=(o.render(),{_wpnonce:wpApiSettings.nonce}),s=i.get("id"),t=s.toString().split("_")[0];jQuery.ajax({url:this.endpoint+"saves/"+t,type:"GET",data:Backbone.Radio.channel("save-progress").request("getSavesRequestData",e)||e,cache:!1,success:function(e,t,n){jQuery(o.$el).slideUp(400,function(){o.remove()}),0!=e.saves.length&&(e=e.saves.pop(),i.set("save_id",e.save_id),e=JSON.parse(e.fields),Backbone.Radio.channel("forms").request("save:updateFieldsCollection",s,e)),jQuery("#nf-form-"+s+"-cont .nf-saves-cont").remove()},error:function(){}})},renderSaveTable:function(e){var t=new SavesLoadingView,n=(t.render(),new SavesCollection([],{formModel:e}));n.fetch({success:function(){t.remove();new SavesCollectionView({collection:n})}})}}),nfSaveProgressPassiveController=Marionette.Object.extend({initialize:function(e){this.storage=window.localStorage,this.listenTo(nfRadio.channel("form"),"render:view",this.onFormRendered)},onFormRendered:function(e){var t,n,i,e=e.model;e.get("save_progress_passive_mode")&&(t=e.get("id"),n=t.toString().split("_")[0],i=this.storage.getItem("nfForm-"+n),Backbone.Radio.channel("forms").request("save:updateFieldsCollection",e.get("id"),JSON.parse(i)),this.listenTo(nfRadio.channel("fields"),"change:modelValue",this.onChangeModelValue),this.listenTo(nfRadio.channel("form-"+t),"submit:response",function(){this.storage.removeItem("nfForm-"+n)}))},onChangeModelValue:function(e){var e=e.get("formID"),t="nfForm-"+e.toString().split("_")[0],n=Backbone.Radio.channel("app").request("get:form",e);void 0!==n&&n.get("save_progress_passive_mode")&&(n=Backbone.Radio.channel("forms").request("save:fieldAttributes",e),this.storage.setItem(t,JSON.stringify(n)))}}),nfSaveProgressSaveButtonController=Marionette.Object.extend({endpoint:"",initialize:function(e){this.endpoint=nfSaveProgress.restApiEndpoint||"",Backbone.Radio.channel("forms").reply("maybe:validate",this.maybeValidate),this.listenTo(nfRadio.channel("save"),"init:model",this.registerHandlers),this.listenTo(nfRadio.channel("save"),"render:view",this.maybeHide),this.listenTo(nfRadio.channel("save"),"click:field",this.click)},maybeValidate:function(e){if(e.getExtra("saveProgress"))return!1},registerHandlers:function(n){var e=Backbone.Radio.channel("form-"+n.get("formID")),i=(n.listenTo(e,"before:submit",this.beforeSubmit,n),n.listenTo(e,"submit:cancel",this.reset.bind(n)),n.listenTo(e,"submit:response",this.reset.bind(n)),n.listenTo(e,"submit:response",this.response.bind(this)),n.get("formID"));n.listenTo(e,"submit:failed",function(){Backbone.Radio.channel("form-"+i).request("remove:extra","saveProgress")}),n.listenTo(e,"submit:response",function(){Backbone.Radio.channel("form-"+i).request("remove:extra","saveProgress")}),Backbone.Radio.channel("save").reply("get:submitData",function(e){i=n.get("formID");var t=Backbone.Radio.channel("app").request("get:form",i);return void 0!==t&&(e.save_id=t.get("save_id")),e}),this.listenTo(nfRadio.channel("submit"),"init:model",this.registerSubmitHandlers)},registerSubmitHandlers:function(e){e.listenTo(nfRadio.channel("form-"+e.get("formID")),"before:submit",function(e){Backbone.Radio.channel("form-"+e.get("id")).request("get:extra","saveProgress")&&(void 0!==this.get("oldLabel")&&this.set("label",this.get("oldLabel")),this.set("disabled",!0),this.trigger("reRender"))},e)},beforeSubmit:function(){this.set("disabled",!0),this.trigger("reRender")},maybeHide:function(e){nfSaveProgress.currentUserID||setTimeout(function(){e.remove()},500)},click:function(e,t){t.set("disabled",!0),t.set("oldLabel",t.get("label")),t.set("label",t.get("processing_label")),t.trigger("reRender"),nfRadio.channel("nf-save-progress").trigger("save-click",!0);var t=t.get("formID"),n=Backbone.Radio.channel("app").request("get:form",t),i=Backbone.Radio.channel("forms").request("save:fieldAttributes",t);Backbone.Radio.channel("form-"+t).request("add:extra","saveProgress",i),Backbone.Radio.channel("form-"+t).request("submit",n)},response:function(e,t,n,i){1==e.data.settings.hide_complete&&jQuery("#nf-form-"+e.data.form_id+"-cont .nf-saves-cont table").hide()},reset:function(){this.set("disabled",!1),void 0!==this.get("oldLabel")&&this.set("label",this.get("oldLabel")),this.trigger("reRender")}}),SaveModel=Backbone.Model.extend({parse:function(e,t){return e.fields=JSON.parse(e.fields),e}}),SavesCollection=Backbone.Collection.extend({model:SaveModel,url:function(){var e=this.formModel.get("id").toString().split("_")[0];return nfSaveProgress.restApiEndpoint+"saves/"+e},initialize:function(e,t){this.formModel=t.formModel},parse:function(e){if(void 0!==e.saves)return e.saves},setAuthHeaders:function(e){void 0!==wpApiSettings.nonce&&e.setRequestHeader("X-WP-Nonce",wpApiSettings.nonce)},sync:function(e,t,n){return(n=n||{}).beforeSend=this.setAuthHeaders,Backbone.sync(e,t,n)}}),SaveItemView=Marionette.ItemView.extend({tagName:"tr",className:"nf-saves-item",template:"#tmpl-nf-save-item",events:{"click .load":function(e){jQuery(e.target).closest(".nf-saves-cont").find(".active").removeClass("active"),jQuery(e.target).closest("tr").addClass("active");e=this.model.get("form_id"),Backbone.Radio.channel("forms").request("save:updateFieldsCollection",e,this.model.get("fields")),e=Backbone.Radio.channel("app").request("get:form",e);void 0!==e&&e.set("save_id",this.model.get("save_id"))},"click .cancel":function(e){jQuery(e.target).closest("tr").removeClass("active");var e=this.model.get("form_id"),e=Backbone.Radio.channel("app").request("get:form",e),t=e.get("fields"),e=e.get("loadedFields");t.reset(e)}},templateHelpers:function(){var s=this;return{updated:this.model.get("updated"),columns:function(){var i=nfRadio.channel("app").request("get:form",s.model.get("form_id")),e=i.get("save_progress_table_columns"),o="";return _.each(e,function(t){var n=i.get("fields").filter(function(e){return t.field==e.get("key")}),e=s.model.get("fields").filter(function(e){e=e.id.toString().split("_")[0];return void 0!==n&&0<n.length?n[0].get("id").toString().split("_")[0]==e:""}),e=void 0!==e[0]?e[0].value:"";o+="<td>"+e+"</td>"}),o}}}}),SaveEmptyView=Marionette.ItemView.extend({tagName:"nf-save",template:"#tmpl-nf-save-empty",initialize:function(){this.on("render",this.afterRender)},afterRender:function(){var e=this;setTimeout(function(){jQuery(e.$el).slideUp("slow",function(){e.remove()})},2e3)}}),SavesLoadingView=Marionette.ItemView.extend({tagName:"nf-section",template:"#tmpl-nf-saves-loading",el:".form-save-loading"}),SavesCollectionView=Marionette.CompositeView.extend({tagName:"table",childView:SaveItemView,emptyView:SaveEmptyView,childViewContainer:"tbody",template:"#tmpl-nf-save-table",initialize:function(e){var t=this.collection.formModel.get("id");t.toString().split("_")[0];this.collection.each(function(e){e.set("form_id",t)}),this.el="#nf-form-"+t+"-cont",this.$el=jQuery(this.el).find(".nf-saves-cont table"),this.render(),this.listenTo(Backbone.Radio.channel("form-"+t),"submit:response",function(){var e=this;this.collection.fetch({success:function(){e.render()}})},this)},onRender:function(){0==this.collection.length?(this.$el.hide(),this.$el.parent().hide()):(this.$el.show(),this.$el.parent().show())},templateHelpers:function(){var t=this;return{headers:function(){var n=t.collection.formModel,e=n.get("save_progress_table_columns"),i="";return _.each(e,function(t){var e=n.get("fields").find(function(e){return t.field==e.get("key")});i+=void 0!==e?"<th>"+e.get("label")+"</th>":"<th></th>"}),i}}}}),NF_SaveProgress=Marionette.Application.extend({initialize:function(e){new nfSaveProgressActiveController,new nfSaveProgressSaveButtonController,new nfSaveProgressPassiveController,Backbone.Radio.channel("forms").reply("save:fieldAttributes",this.getfieldAttributes,this),Backbone.Radio.channel("forms").reply("save:updateFieldsCollection",this.updateFieldsCollection,this)},getfieldAttributes:function(e){var e=Backbone.Radio.channel("app").request("get:form",e).get("fields").filter(function(e,t){return"html"!=e.get("type")&&!(!e.get("value")&&"table_editor"!=e.get("type")||e.get("clean")&&"file_upload"!=e.get("type")&&"table_editor"!=e.get("type"))}),i=["admin_label","element_class","required","container_class","custom_mask","mask","manual_key","drawerDisabled","input_limit","input_limit_msg","input_limit_type","help_text","desc_text","created_at","editActive","disabled","afterField","beforeField","classes","confirm_field","element_templates","errors","formID","key","label","label_pos","mirror_field","objectDomain","objectType","old_classname","order","parentType","placeholder","reRender","type","wrap_template","options","hot","tableConfig","uploadNonce","upload_types","cellcid"];return e.map(function(e,t){return _.omit(e.attributes,function(e,t,n){return"function"==typeof e||-1!==i.indexOf(t)||-1!==t.indexOf("_styles_")})})},updateFieldsCollection:function(e,t){var n=Backbone.Radio.channel("app").request("get:form",e),i=n.get("fields"),o=e.toString().split("_")[1],e=n.get("loadedFields");i.reset(e),_.each(t,function(e){var t=parseInt(e.id),t=(void 0!==o&&(t+="_"+o),i.get(t)),e=_.omit(e,["id","required","uploadNonce","upload_types"]);void 0!==e.visible&&(e.visible=e.visible.toString()),void 0!==t&&t.set(e)}),Backbone.Radio.channel("fields").trigger("reset:collection",i)}});jQuery(document).ready(function(e){(new NF_SaveProgress).start()});
var nfUserManagement=Marionette.Object.extend({
initialize: function (){
this.listenTo(nfRadio.channel('fields'),
'change:field',
this.removeError
);
},
removeError: function(el, model){
nfRadio
.channel('fields')
.request('remove:error', model.get('id'), 'user-management');
nfRadio
.channel('form-' + model.get('formID') )
.request('remove:error', 'user-management');
},
});
jQuery(document).ready(function($){
new nfUserManagement();
});
(function (){
var requirejs, require, define;
(function (undef){
var main, req, makeMap, handlers,
defined={},
waiting={},
config={},
defining={},
hasOwn=Object.prototype.hasOwnProperty,
aps=[].slice,
jsSuffixRegExp=/\.js$/;
function hasProp(obj, prop){
return hasOwn.call(obj, prop);
}
function normalize(name, baseName){
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part,
baseParts=baseName&&baseName.split("/"),
map=config.map,
starMap=(map&&map['*'])||{};
if(name&&name.charAt(0)==="."){
if(baseName){
name=name.split('/');
lastIndex=name.length - 1;
if(config.nodeIdCompat&&jsSuffixRegExp.test(name[lastIndex])){
name[lastIndex]=name[lastIndex].replace(jsSuffixRegExp, '');
}
name=baseParts.slice(0, baseParts.length - 1).concat(name);
for (i=0; i < name.length; i +=1){
part=name[i];
if(part==="."){
name.splice(i, 1);
i -=1;
}else if(part===".."){
if(i===1&&(name[2]==='..'||name[0]==='..')){
break;
}else if(i > 0){
name.splice(i - 1, 2);
i -=2;
}}
}
name=name.join("/");
}else if(name.indexOf('./')===0){
name=name.substring(2);
}}
if((baseParts||starMap)&&map){
nameParts=name.split('/');
for (i=nameParts.length; i > 0; i -=1){
nameSegment=nameParts.slice(0, i).join("/");
if(baseParts){
for (j=baseParts.length; j > 0; j -=1){
mapValue=map[baseParts.slice(0, j).join('/')];
if(mapValue){
mapValue=mapValue[nameSegment];
if(mapValue){
foundMap=mapValue;
foundI=i;
break;
}}
}}
if(foundMap){
break;
}
if(!foundStarMap&&starMap&&starMap[nameSegment]){
foundStarMap=starMap[nameSegment];
starI=i;
}}
if(!foundMap&&foundStarMap){
foundMap=foundStarMap;
foundI=starI;
}
if(foundMap){
nameParts.splice(0, foundI, foundMap);
name=nameParts.join('/');
}}
return name;
}
function makeRequire(relName, forceSync){
return function (){
var args=aps.call(arguments, 0);
if(typeof args[0]!=='string'&&args.length===1){
args.push(null);
}
return req.apply(undef, args.concat([relName, forceSync]));
};}
function makeNormalize(relName){
return function (name){
return normalize(name, relName);
};}
function makeLoad(depName){
return function (value){
defined[depName]=value;
};}
function callDep(name){
if(hasProp(waiting, name)){
var args=waiting[name];
delete waiting[name];
defining[name]=true;
main.apply(undef, args);
}
if(!hasProp(defined, name)&&!hasProp(defining, name)){
throw new Error('No ' + name);
}
return defined[name];
}
function splitPrefix(name){
var prefix,
index=name ? name.indexOf('!'):-1;
if(index > -1){
prefix=name.substring(0, index);
name=name.substring(index + 1, name.length);
}
return [prefix, name];
}
makeMap=function (name, relName){
var plugin,
parts=splitPrefix(name),
prefix=parts[0];
name=parts[1];
if(prefix){
prefix=normalize(prefix, relName);
plugin=callDep(prefix);
}
if(prefix){
if(plugin&&plugin.normalize){
name=plugin.normalize(name, makeNormalize(relName));
}else{
name=normalize(name, relName);
}}else{
name=normalize(name, relName);
parts=splitPrefix(name);
prefix=parts[0];
name=parts[1];
if(prefix){
plugin=callDep(prefix);
}}
return {
f: prefix ? prefix + '!' + name:name,
n: name,
pr: prefix,
p: plugin
};};
function makeConfig(name){
return function (){
return (config&&config.config&&config.config[name])||{};};
}
handlers={
require: function (name){
return makeRequire(name);
},
exports: function (name){
var e=defined[name];
if(typeof e!=='undefined'){
return e;
}else{
return (defined[name]={});
}},
module: function (name){
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};}};
main=function (name, deps, callback, relName){
var cjsModule, depName, ret, map, i,
args=[],
callbackType=typeof callback,
usingExports;
relName=relName||name;
if(callbackType==='undefined'||callbackType==='function'){
deps = !deps.length&&callback.length ? ['require', 'exports', 'module']:deps;
for (i=0; i < deps.length; i +=1){
map=makeMap(deps[i], relName);
depName=map.f;
if(depName==="require"){
args[i]=handlers.require(name);
}else if(depName==="exports"){
args[i]=handlers.exports(name);
usingExports=true;
}else if(depName==="module"){
cjsModule=args[i]=handlers.module(name);
}else if(hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)){
args[i]=callDep(depName);
}else if(map.p){
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i]=defined[depName];
}else{
throw new Error(name + ' missing ' + depName);
}}
ret=callback ? callback.apply(defined[name], args):undefined;
if(name){
if(cjsModule&&cjsModule.exports!==undef &&
cjsModule.exports!==defined[name]){
defined[name]=cjsModule.exports;
}else if(ret!==undef||!usingExports){
defined[name]=ret;
}}
}else if(name){
defined[name]=callback;
}};
requirejs=require=req=function (deps, callback, relName, forceSync, alt){
if(typeof deps==="string"){
if(handlers[deps]){
return handlers[deps](callback);
}
return callDep(makeMap(deps, callback).f);
}else if(!deps.splice){
config=deps;
if(config.deps){
req(config.deps, config.callback);
}
if(!callback){
return;
}
if(callback.splice){
deps=callback;
callback=relName;
relName=null;
}else{
deps=undef;
}}
callback=callback||function (){};
if(typeof relName==='function'){
relName=forceSync;
forceSync=alt;
}
if(forceSync){
main(undef, deps, callback, relName);
}else{
setTimeout(function (){
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
req.config=function (cfg){
return req(cfg);
};
requirejs._defined=defined;
define=function (name, deps, callback){
if(typeof name!=='string'){
throw new Error('See almond README: incorrect module build, no module name');
}
if(!deps.splice){
callback=deps;
deps=[];
}
if(!hasProp(defined, name)&&!hasProp(waiting, name)){
waiting[name]=[name, deps, callback];
}};
define.amd={
jQuery: true
};}());
define("../lib/almond", function(){});
define('views/header',[], function(){
var view=Marionette.ItemView.extend({
template: "#tmpl-nf-mp-header",
fullProgressBar: false,
initialize: function(options){
this.listenTo(this.collection, 'change:part', this.reRender);
this.listenTo(this.collection, 'change:errors', this.reRender);
this.listenTo(nfRadio.channel('forms'), 'before:submit', this.fillProgressBar);
},
reRender: function(){
this.model=this.collection.getElement();
this.render();
},
templateHelpers: function(){
var that=this;
return {
renderPartTitle: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_display_titles||0==that.collection.formModel.get('settings').mp_display_titles) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-part-title');
var parts=_.invoke(that.collection.getVisibleParts(), 'pick', [ 'title', 'errors', 'visible' ])
if(1 < parts.length){
return template( { title: this.title });
}else{
return '';
}},
renderBreadcrumbs: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_breadcrumb||0==that.collection.formModel.get('settings').mp_breadcrumb) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-breadcrumbs');
var parts=_.invoke(that.collection.getVisibleParts(), 'pick', [ 'title', 'errors', 'visible' ])
if(1 < parts.length){
return template( { parts: parts, currentIndex: that.collection.getVisibleParts().indexOf(that.model) });
}else{
return '';
}},
renderProgressBar: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_progress_bar||0==that.collection.formModel.get('settings').mp_progress_bar) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-progress-bar');
var currentIndex=that.collection.getVisibleParts().indexOf(that.model);
var percent=(that.fullProgressBar) ? 100:currentIndex / that.collection.getVisibleParts().length * 100;
if(1 < that.collection.getVisibleParts().length){
return template( { percent: percent });
}else{
return '';
}}
}},
events: {
'click .nf-breadcrumb': 'clickBreadcrumb'
},
clickBreadcrumb: function(e){
e.preventDefault();
this.collection.setElement(this.collection.getVisibleParts()[ jQuery(e.target).data('index') ]);
},
fillProgressBar: function(formModel){
this.fullProgressBar=true;
this.render();
this.fullProgressBar=false;
}});
return view;
});
define('views/footer',[], function(){
var view=Marionette.ItemView.extend({
template: "#tmpl-nf-mp-footer",
initialize: function(options){
this.listenTo(this.collection, 'change:part', this.reRender);
},
reRender: function(){
this.model=this.collection.getElement();
this.render();
},
templateHelpers: function(){
var that=this;
return {
renderNextPrevious: function(){
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-next-previous');
var showNext=false;
var showPrevious=false;
var visibleParts=that.collection.where({ visible: true });
if(visibleParts.indexOf(that.model)!=visibleParts.length - 1){
showNext=true;
}
if(visibleParts.indexOf(that.model)!=0){
showPrevious=true;
}
if(! showNext&&! showPrevious) return '';
var prevLabel=that.collection.formModel.get('mp_prev_label')||nfMPSettings.prevLabel;
var nextLabel=that.collection.formModel.get('mp_next_label')||nfMPSettings.nextLabel;
return template( { showNext: showNext, showPrevious: showPrevious, prevLabel: prevLabel, nextLabel: nextLabel });
},
}}
});
return view;
});
define('views/formContent',[ 'views/header', 'views/footer' ], function(HeaderView, FooterView){
var view=Marionette.LayoutView.extend({
template: "#tmpl-nf-mp-form-content",
regions: {
header: '.nf-mp-header',
body: '.nf-mp-body',
footer: '.nf-mp-footer'
},
initialize: function(options){
this.formModel=options.formModel;
this.collection=options.data;
this.listenTo(this.collection, 'change:part', this.changePart);
this.listenTo(this.collection, 'change:visible', this.renderHeaderFooter);
},
onRender: function(){
this.header.show(new HeaderView( { collection: this.collection, model: this.collection.getElement() }) );
var formContentViewFilters=nfRadio.channel('formContent').request('get:viewFilters');
var sortedArray=_.without(formContentViewFilters, undefined);
var callback=sortedArray[1];
this.formContentView=callback();
this.body.show(new this.formContentView({ collection: this.collection.getElement().get('formContentData') }) );
this.footer.show(new FooterView( { collection: this.collection, model: this.collection.getElement() }) );
},
renderHeaderFooter: function(){
this.header.show(new HeaderView( { collection: this.collection, model: this.collection.getElement() }) );
this.footer.show(new FooterView( { collection: this.collection, model: this.collection.getElement() }) );
},
changePart: function(){
this.body.show(new this.formContentView({ collection: this.collection.getElement().get('formContentData') }) );
var formTop=jQuery(this.body.el).closest('.nf-form-cont').offset().top;
if(jQuery(window).scrollTop() > formTop - 50){
jQuery(window).scrollTop(formTop - 50);
}},
events: {
'click .nf-next': 'clickNext',
'click .nf-previous': 'clickPrevious'
},
clickNext: function(e){
e.preventDefault();
this.collection.next();
},
clickPrevious: function(e){
e.preventDefault();
this.collection.previous();
}});
return view;
});
define('models/partModel',[], function(){
var model=Backbone.Model.extend({
fieldErrors: {},
defaults: {
errors: false,
visible: true,
title: ''
},
initialize: function(){
this.filterFormContentData();
this.listenTo(this.get('formContentData'), 'change:errors', this.maybeChangeActivePart);
this.fieldErrors[ this.cid ]=[];
this.on('change:visible', this.changeVisible, this);
this.set('order', Number(this.get('order') ));
},
filterFormContentData: function(){
if(! this.get('formContentData') ) return;
var formContentData=this.get('formContentData');
var formContentLoadFilters=nfRadio.channel('formContent').request('get:loadFilters');
var sortedArray=_.without(formContentLoadFilters, undefined);
var callback=sortedArray[ 1 ];
var empty=(0==formContentData.length) ? true:false;
if('undefined'==typeof formContentLoadFilters[4]&&_.isArray(formContentData)&&0!=formContentData.length&&'undefined'!=typeof formContentData[0].cells){
var partFields=[];
var cells=_.pluck(formContentData, 'cells');
_.each(cells, function(cell){
var fields=_.flatten(_.pluck(cell, 'fields') );
partFields=_.union(partFields, fields);
});
formContentData=partFields;
this.set('formContentData', formContentData);
}
this.set('formContentData', callback(formContentData, this.collection.formModel, empty, formContentData) );
},
maybeChangeActivePart: function(fieldModel){
if(0 < fieldModel.get('errors').length){
this.set('errors', true);
this.fieldErrors[ this.cid ].push(fieldModel.get('key') );
if(this.collection.getElement()!=this &&
this.collection.indexOf(this.collection.getElement()) > this.collection.indexOf(this)
){
this.collection.setElement(this);
}}else{
this.fieldErrors[ this.cid ]=_.without(this.fieldErrors[ this.cid ], fieldModel.get('key') );
if(0==this.fieldErrors[ this.cid ].length){
this.set('errors', false);
}}
},
validateFields: function(){
this.get('formContentData').validateFields();
},
changeVisible: function(){
if(this.get('visible') ){
this.get('formContentData').showFields();
}else{
this.get('formContentData').hideFields();
}}
});
return model;
});
define('models/partCollection',[ 'models/partModel' ], function(PartModel){
var collection=Backbone.Collection.extend({
model: PartModel,
currentElement: false,
initialize: function(models, options){
this.formModel=options.formModel;
},
getElement: function(){
if(! this.currentElement){
this.setElement(this.at(0), true);
}
return this.currentElement;
},
setElement: function(model, silent){
silent=silent||false;
if(! silent){
if(this.partErrors()) return;
}
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
setNextElement: function(model, silent){
silent=silent||false;
if(! silent){
if(this.partErrors()) return;
}
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
setPreviousElement: function(model, silent){
silent=silent||false;
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
next: function (){
if(this.getVisibleParts().length - 1!=this.getVisibleParts().indexOf(this.getElement()) ){
this.setNextElement(this.getVisibleParts()[ this.getVisibleParts().indexOf(this.getElement()) + 1 ]);
}
return this;
},
previous: function(){
if(0!=this.getVisibleParts().indexOf(this.getElement()) ){
this.setPreviousElement(this.getVisibleParts()[ this.getVisibleParts().indexOf(this.getElement()) - 1 ]);
}
return this;
},
partErrors: function(){
if('undefined'==typeof this.formModel.get('settings').mp_validate||0==this.formModel.get('settings').mp_validate) return false;
this.currentElement.validateFields();
return this.currentElement.get('errors');
},
validateFields: function(){
_.each(this.getVisibleParts(), function(partModel){ partModel.validateFields(); });
},
getVisibleParts: function(){
return this.where({ visible: true });
}});
return collection;
});
define('controllers/loadFilters',[ 'views/formContent', 'models/partCollection' ], function(FormContentView, PartCollection){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('formContent').request('add:viewFilter', this.getformContentView, 1);
nfRadio.channel('formContent').request('add:loadFilter', this.formContentLoad, 1);
},
getformContentView: function(formContentData){
return FormContentView;
},
formContentLoad: function(formContentData, formModel){
if(true===formContentData instanceof PartCollection) return formContentData;
if(_.isArray(formContentData)&&0!=_.isArray(formContentData).length&&'undefined'!=typeof _.first(formContentData)&&'part'==_.first(formContentData).type){
var partCollection=new PartCollection(formContentData, { formModel: formModel });
}else{
var partCollection=new PartCollection( { formContentData: formContentData }, { formModel: formModel });
}
return partCollection;
}});
return controller;
});
define('controllers/conditionalLogic',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('show_part', this.showPart, this);
nfRadio.channel('condition:trigger').reply('hide_part', this.hidePart, this);
},
showPart: function(conditionModel, then){
conditionModel.set('alreadyTriggered', true);
this.changePartVisibility(conditionModel, then, true);
conditionModel.set('alreadyTriggered', false);
},
hidePart: function(conditionModel, then){
conditionModel.set('alreadyTriggered', true);
this.changePartVisibility(conditionModel, then, false);
conditionModel.set('alreadyTriggered', false);
},
changePartVisibility: function(conditionModel, then, visible){
var mpResetFlag=Date.now();
if(! conditionModel.collection.mpResetFlag){
conditionModel.collection.mpResetFlag=mpResetFlag;
}
var partCollection=conditionModel.collection.formModel.get('formContentData');
partCollection.findWhere({ key: then.key }).set('visible', visible);
conditionModel.collection.each(function(model){
if(model==conditionModel) return;
if(model.get('alreadyTriggered') ) return;
model.checkWhen();
model.set('alreadyTriggered', true);
});
if(mpResetFlag==conditionModel.collection.mpResetFlag){
conditionModel.collection.invoke('set', { 'alreadyTriggered': false });
conditionModel.collection.mpResetFlag=false;
}}
});
return controller;
});
define('controllers/renderRecaptcha',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
jQuery('.g-recaptcha').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('recaptcha').request('update:response', response, fieldID);
};}
var opts={
theme: jQuery(this).data('theme'),
sitekey: jQuery(this).data('sitekey'),
callback: callback
};
grecaptcha.render(jQuery(this)[0], opts);
});
},
});
return controller;
});
define('controllers/renderTurnstile',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
setTimeout(function(){
jQuery('.cf-turnstile, .nf-cf-turnstile').each(function(){
var element=this;
var sitekey=jQuery(element).data('sitekey');
var fieldID=jQuery(element).data('fieldid');
if(! sitekey||jQuery(element).children().length > 0){
return;
}
if(typeof turnstile==='undefined'){
return;
}
try {
var callbackName='nfTurnstileCallback_' + fieldID;
window[ callbackName ]=function(token){
var input=document.getElementById('nf-field-' + fieldID);
if(input){
input.value=token;
jQuery(input).trigger('change');
jQuery(input).closest('.field-wrap').removeClass('nf-error');
jQuery(input).closest('.field-wrap').find('.nf-error-msg').remove();
}
if(typeof nfRadio!=='undefined'&&nfRadio.channel){
try {
nfRadio.channel('turnstile').request('update:response', token, fieldID);
} catch(e){
}}
};
turnstile.render(element, {
sitekey: sitekey,
theme: jQuery(element).data('theme')||'auto',
size: jQuery(element).data('size')||'normal',
callback: callbackName
});
} catch(e){
console.warn('Turnstile render error:', e);
}});
}, 100);
}});
return controller;
});
define('controllers/renderHelpText',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
jQuery('.nf-help').each(function(){
var jBox=jQuery(this).jBox('Tooltip', {
theme: 'TooltipBorder',
content: jQuery(this).data('text')
});
});
},
});
return controller;
});
define('controllers/fieldValuePreserver',[], function(){
var controller=Marionette.Object.extend({
fieldCache: {},
dateOnlyCache: {},
initialize: function(){
var self=this;
jQuery(document).on('change', '.hour, .minute, .ampm', function(e){
self.onTimeSelectChange(e);
});
jQuery(document).on('mousedown', '.nf-next, .nf-previous', function(e){
self.cacheAllVisibleTimeFields();
self.cacheDateOnlyFields();
});
this.listenTo(nfRadio.channel('forms'), 'before:submit', this.onBeforeSubmit);
},
cacheAllVisibleTimeFields: function(){
var self=this;
jQuery('.nf-field-container').each(function(){
var $container=jQuery(this);
var $hour=$container.find('.hour');
if(! $hour.length) return;
var fieldId=$container.data('id');
if(! fieldId){
var $input=$container.find('.nf-element').first();
if($input.length&&$input.attr('id') ){
fieldId=$input.attr('id').replace(/^nf-field-/, '');
}}
if(! fieldId) return;
var $minute=$container.find('.minute');
var $ampm=$container.find('.ampm');
var $dateInput=$container.find('input[type="hidden"], input.nf-element').first();
var dateValue=$dateInput.length ? $dateInput.val():'';
self.fieldCache[ fieldId ]={
date: dateValue,
hour: $hour.val()||null,
minute: $minute.val()||null,
ampm: $ampm.val()||null
};});
},
cacheDateOnlyFields: function(){
var self=this;
jQuery('.nf-field-container').each(function(){
var $container=jQuery(this);
var $hiddenInput=$container.find('input[type="hidden"].datepicker');
if(! $hiddenInput.length){
$hiddenInput=$container.find('input[type="hidden"].flatpickr-input');
}
if(! $hiddenInput.length) return;
if($container.find('.hour').length) return;
var fieldId=$container.data('id');
if(! fieldId){
var inputId=$hiddenInput.attr('id');
if(inputId){
fieldId=inputId.replace(/^nf-field-/, '');
}}
if(! fieldId) return;
var formattedDate=$hiddenInput.val();
if(formattedDate){
self.dateOnlyCache[ String(fieldId) ]=formattedDate;
}});
},
onTimeSelectChange: function(e){
var $select=jQuery(e.target);
var $container=$select.closest('.nf-field-container');
if(! $container.length) return;
var fieldId=$container.data('id');
if(! fieldId){
var $input=$container.find('.nf-element').first();
if($input.length&&$input.attr('id') ){
fieldId=$input.attr('id').replace(/^nf-field-/, '');
}}
if(! fieldId) return;
var $hour=$container.find('.hour');
var $minute=$container.find('.minute');
var $ampm=$container.find('.ampm');
var $dateInput=$container.find('input[type="hidden"], input.nf-element').first();
var dateValue=$dateInput.length ? $dateInput.val():'';
this.fieldCache[ fieldId ]={
date: dateValue,
hour: $hour.val()||null,
minute: $minute.val()||null,
ampm: $ampm.val()||null
};},
onBeforeSubmit: function(formModel){
var self=this;
var fields=formModel.get('fields');
if(! fields||! fields.models) return;
fields.models.forEach(function(fieldModel){
if('date'!==fieldModel.get('type') ) return;
var dateMode=fieldModel.get('date_mode');
var fieldId=fieldModel.get('id');
if('date_only'===dateMode){
var cachedDate=self.dateOnlyCache[ String(fieldId) ];
if(cachedDate){
fieldModel.set('value', cachedDate, { silent: true });
}
return;
}
var cached=self.fieldCache[ fieldId ];
if(! cached) return;
var el=fieldModel.get('el');
var $el=jQuery(el);
var domAvailable=$el.length&&$el.find('.hour').length&&$el.closest('body').length;
if(domAvailable){
return;
}
if('time_only'===dateMode){
var timeValue='';
if(cached.hour&&cached.minute){
timeValue=cached.hour + ':' + cached.minute;
if(cached.ampm){
timeValue +=' ' + cached.ampm;
}}
fieldModel.set('value', timeValue);
}else{
fieldModel.set('value', {
date: cached.date||'',
hour: cached.hour||'',
minute: cached.minute||'',
ampm: cached.ampm||''
});
}
var originalGetValue=fieldModel.getValue;
fieldModel.getValue=function(){
var val=this.get('value');
if(typeof val==='object'&&val!==null){
var result=val.date||'';
if(val.hour&&val.minute){
result +=' ' + val.hour + ':' + val.minute;
}
if(val.ampm){
result +=' ' + val.ampm;
}
return result;
}
return val;
};});
}});
return controller;
});
define(
'controllers/loadControllers',[
'controllers/conditionalLogic',
'controllers/renderRecaptcha',
'controllers/renderTurnstile',
'controllers/renderHelpText',
'controllers/fieldValuePreserver'
],
function
(
ConditionalLogic,
RenderRecaptcha,
RenderTurnstile,
RenderHelpText,
FieldValuePreserver
){
var controller=Marionette.Object.extend({
initialize: function(){
new ConditionalLogic();
new RenderRecaptcha();
new RenderTurnstile();
new RenderHelpText();
new FieldValuePreserver();
}});
return controller;
});
var nfRadio=Backbone.Radio;
require([ 'controllers/loadFilters', 'controllers/loadControllers' ], function(LoadFilters, LoadControllers){
var NFMultiPart=Marionette.Application.extend({
initialize: function(options){
this.listenTo(nfRadio.channel('form'), 'before:filterData', this.loadFilters);
this.listenTo(nfRadio.channel('form'), 'loaded', this.loadControllers);
},
loadFilters: function(formModel){
new LoadFilters();
},
loadControllers: function(formModel){
new LoadControllers();
},
onStart: function(){
}});
var nfMultiPart=new NFMultiPart();
nfMultiPart.start();
});
define("main", function(){});
}());
!function(){var e,t,i;!function(n){function o(e,t){return M.call(e,t)}function l(e,t){var i,n,o,l,r,s,c,f,d,a,u,h=t&&t.split("/"),m=v.map,g=m&&m["*"]||{};if(e&&"."===e.charAt(0))if(t){for(e=e.split("/"),r=e.length-1,v.nodeIdCompat&&b.test(e[r])&&(e[r]=e[r].replace(b,"")),e=h.slice(0,h.length-1).concat(e),d=0;d<e.length;d+=1)if("."===(u=e[d]))e.splice(d,1),d-=1;else if(".."===u){if(1===d&&(".."===e[2]||".."===e[0]))break;d>0&&(e.splice(d-1,2),d-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((h||g)&&m){for(i=e.split("/"),d=i.length;d>0;d-=1){if(n=i.slice(0,d).join("/"),h)for(a=h.length;a>0;a-=1)if((o=m[h.slice(0,a).join("/")])&&(o=o[n])){l=o,s=d;break}if(l)break;!c&&g&&g[n]&&(c=g[n],f=d)}!l&&c&&(l=c,s=f),l&&(i.splice(0,s,l),e=i.join("/"))}return e}function r(e,t){return function(){var i=y.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),h.apply(n,i.concat([e,t]))}}function s(e){return function(t){return l(t,e)}}function c(e){return function(t){p[e]=t}}function f(e){if(o(w,e)){var t=w[e];delete w[e],C[e]=!0,u.apply(n,t)}if(!o(p,e)&&!o(C,e))throw new Error("No "+e);return p[e]}function d(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function a(e){return function(){return v&&v.config&&v.config[e]||{}}}var u,h,m,g,p={},w={},v={},C={},M=Object.prototype.hasOwnProperty,y=[].slice,b=/\.js$/;m=function(e,t){var i,n=d(e),o=n[0];return e=n[1],o&&(o=l(o,t),i=f(o)),o?e=i&&i.normalize?i.normalize(e,s(t)):l(e,t):(e=l(e,t),n=d(e),o=n[0],e=n[1],o&&(i=f(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:i}},g={require:function(e){return r(e)},exports:function(e){var t=p[e];return void 0!==t?t:p[e]={}},module:function(e){return{id:e,uri:"",exports:p[e],config:a(e)}}},u=function(e,t,i,l){var s,d,a,u,h,v,M=[],y=typeof i;if(l=l||e,"undefined"===y||"function"===y){for(t=!t.length&&i.length?["require","exports","module"]:t,h=0;h<t.length;h+=1)if(u=m(t[h],l),"require"===(d=u.f))M[h]=g.require(e);else if("exports"===d)M[h]=g.exports(e),v=!0;else if("module"===d)s=M[h]=g.module(e);else if(o(p,d)||o(w,d)||o(C,d))M[h]=f(d);else{if(!u.p)throw new Error(e+" missing "+d);u.p.load(u.n,r(l,!0),c(d),{}),M[h]=p[d]}a=i?i.apply(p[e],M):void 0,e&&(s&&s.exports!==n&&s.exports!==p[e]?p[e]=s.exports:a===n&&v||(p[e]=a))}else e&&(p[e]=i)},e=t=h=function(e,t,i,o,l){if("string"==typeof e)return g[e]?g[e](t):f(m(e,t).f);if(!e.splice){if(v=e,v.deps&&h(v.deps,v.callback),!t)return;t.splice?(e=t,t=i,i=null):e=n}return t=t||function(){},"function"==typeof i&&(i=o,o=l),o?u(n,e,t,i):setTimeout(function(){u(n,e,t,i)},4),h},h.config=function(e){return h(e)},e._defined=p,i=function(e,t,i){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(i=t,t=[]),o(p,e)||o(w,e)||(w[e]=[e,t,i])},i.amd={jQuery:!0}}(),i("../lib/almond",function(){}),i("views/cellComposite",[],function(){return Marionette.CompositeView.extend({template:"#nf-tmpl-cell",className:"nf-cell",getChildView:function(){return n.channel("views").request("get:fieldLayout")},initialize:function(){this.collection=this.model.get("fields"),jQuery(this.el).css("width",this.model.get("width")+"%")},onRender:function(){0==this.collection.length&&jQuery(this.el).html("&nbsp;")},attachHtml:function(e,t){jQuery(e.el).find("nf-fields").append(t.el)}})}),i("views/rowComposite",["views/cellComposite"],function(e){return Marionette.CompositeView.extend({template:"#nf-tmpl-row",childView:e,className:"nf-row",initialize:function(){this.collection=this.model.get("cells")},onAttach:function(){1<this.collection.length&&jQuery(this.el).closest(".nf-form-wrap").addClass("nf-multi-cell")},attachHtml:function(e,t){jQuery(e.el).find("nf-cells").append(t.el)}})}),i("views/rowCollection",["views/rowComposite"],function(e){return Marionette.CollectionView.extend({tagName:"nf-rows-wrap",childView:e})}),i("models/cellFieldCollection",[],function(){return Backbone.Collection.extend({comparator:"order",initialize:function(e,t){this.cellModel=t.cellModel,_.each(e,function(e){e.set("cellcid",this.cellModel.cid,{silent:!0})},this),this.listenTo(this.cellModel.collection.rowModel.collection,"validate:fields",this.validateFields),this.listenTo(this.cellModel.collection.rowModel.collection,"show:fields",this.showFields),this.listenTo(this.cellModel.collection.rowModel.collection,"hide:fields",this.hideFields),this.cellModel.collection.formModel.get("fields").on("reset",this.resetCollection,this)},validateFields:function(){_.each(this.models,function(e){if("repeater"===e.get("type")){const t=n.channel("field-repeater").request("get:repeaterFieldsModelsArrayByForm",e.get("formID"));_.each(t,function(e){e.set("clean",!1),n.channel("submit").trigger("validate:field",e)})}else e.set("clean",!1),n.channel("submit").trigger("validate:field",e)},this)},showFields:function(){this.invoke("set",{visible:!0}),this.invoke(function(){this.trigger("change:value",this)})},hideFields:function(){this.invoke("set",{visible:!1}),this.invoke(function(){this.trigger("change:value",this)})},resetCollection:function(e){var t=[];_.each(this.models,function(i){"submit"!=i.get("type")?t.push(e.findWhere({key:i.get("key")})):t.push(i)}),this.reset(t)}})}),i("models/cellModel",["models/cellFieldCollection"],function(e){return Backbone.Model.extend({initialize:function(){var t=this.collection.formModel.get("fields"),i=[];_.each(this.get("fields"),function(e){if(void 0===t.get(e)){var n=t.findWhere({key:e});void 0!==n&&i.push(n)}else i.push(t.get(e))}),this.set("fields",new e(i,{cellModel:this})),this.set("order",Number(this.get("order"))),this.listenTo(this.get("fields"),"change:errors",this.triggerErrors)},triggerErrors:function(e){this.collection.trigger("change:errors",e)}})}),i("models/cellCollection",["models/cellModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.rowModel=t.rowModel,this.formModel=t.formModel}})}),i("models/rowModel",["models/cellCollection"],function(e){return Backbone.Model.extend({initialize:function(){this.set("cells",new e(this.get("cells"),{rowModel:this,formModel:this.collection.formModel})),this.set("order",Number(this.get("order"))),this.listenTo(this.get("cells"),"change:errors",this.triggerErrors)},triggerErrors:function(e){this.collection.trigger("change:errors",e)}})}),i("models/rowCollection",["models/rowModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.formModel=t.formModel},validateFields:function(){this.trigger("validate:fields",this)},showFields:function(){this.trigger("show:fields",this)},hideFields:function(){this.trigger("hide:fields",this)}})}),i("controllers/formContentFilters",["views/rowCollection","models/rowCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){n.channel("formContent").request("add:viewFilter",this.getFormContentView,4),n.channel("formContent").request("add:loadFilter",this.formContentLoad,4),n.channel("fieldContents").request("add:viewFilter",this.getFormContentView,4),n.channel("fieldContents").request("add:loadFilter",this.formContentLoad,4)},getFormContentView:function(t){return e},formContentLoad:function(e,i,o,l){if(!0==e instanceof t)return e;var r=n.channel("formContent").request("get:loadFilters"),s=void 0!==r[1];!s&&_.isArray(e)&&0!=_.isArray(e).length&&void 0!==_.first(e)&&"part"==_.first(e).type&&(e=_.flatten(_.pluck(e,"formContentData"))),o=o||!1,l=l||!1;var c=[];return _.isArray(e)&&0!=e.length&&void 0===e[0].cells?_.each(e,function(e,t){c.push({order:t,cells:[{order:0,fields:[e],width:"100"}]})}):c=_.isEmpty(c)&&"undefined"!=typeof nfLayouts&&!s?nfLayouts.rows:e,new t(c,{formModel:i})}})}),i("controllers/loadControllers",["controllers/formContentFilters"],function(e){return Marionette.Object.extend({initialize:function(){new e}})});var n=Backbone.Radio;t(["controllers/loadControllers"],function(e){(new(Marionette.Application.extend({initialize:function(e){this.listenTo(n.channel("form"),"before:filterData",this.loadControllers)},loadControllers:function(t){new e}}))).start()}),i("main",function(){})}();
!function(){var t={6611:function(t,e,n){"use strict";n.d(e,{top_window:function(){return o}});let a,o=window,r=!1;try{a=!!window.top.document&&window.top}catch(t){a=!1}a&&a.__Cypress__?window.parent===a?(o=window,r=!1):(o=window.parent,r=!0):a&&(o=a,r=a!==window.self)},97981:function(t,e,n){"use strict";n.d(e,{isBuilder:function(){return p}});var a=n(27361),o=n.n(a),r=n(19567),i=n.n(r),s=n(6611);const c=()=>window.et_builder_utils_params?window.et_builder_utils_params:s.top_window.et_builder_utils_params?s.top_window.et_builder_utils_params:{},u=()=>o()(c(),"builderType",""),l=t=>t===u(),d=t=>o()(c(),`condition.${t}`),p=(l("fe"),l("vb"),l("bfb"),l("tb"),l("lbb"),d("diviTheme"),d("extraTheme"),l("lbp"),i()(s.top_window.document).find(".edit-post-layout__content").length,["vb","bfb","tb","lbb"].includes(u()))},50843:function(t,e,n){"use strict";n.d(e,{f:function(){return a}});const a=()=>window.innerWidth||document.documentElement.clientWidth},44167:function(t,e,n){"use strict";n.d(e,{getCurrentWindowMode:function(){return i},getEnabledBreakpoints:function(){return o}});const a=[{enable:!0,order:50,name:"desktop",baseDevice:!0,label:"Desktop"},{enable:!0,maxWidth:{value:"980px",default:980},order:30,name:"tablet",label:"Tablet"},{enable:!0,maxWidth:{value:"767px",default:767},order:10,name:"phone",label:"Phone"}],o=()=>window?.diviBreakpointData?.enabledBreakpoints?window?.diviBreakpointData?.enabledBreakpoints:a;var r=n(50843);const i=()=>{const t=(0,r.f)(),e=o(),n=e.find((t=>t?.baseDevice))?.name??"desktop";let a,i=null,s=null;return e.forEach((e=>{if(e?.baseDevice)return;const n=e?.maxWidth?.value,o=e?.minWidth?.value;if(n&&o&&parseInt(n)>=t&&parseInt(o)<=t&&(a=e?.name),n&&!o){const o=parseInt(n);o>=t&&(null===i||o<i)&&(a=e?.name,i=o)}if(!n&&o){const n=parseInt(o);n<=t&&(null===s||n>s)&&(a=e?.name,s=n)}})),a??n}},1989:function(t,e,n){var a=n(51789),o=n(80401),r=n(57667),i=n(21327),s=n(81866);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=o,c.prototype.get=r,c.prototype.has=i,c.prototype.set=s,t.exports=c},38407:function(t,e,n){var a=n(27040),o=n(14125),r=n(82117),i=n(67518),s=n(54705);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=o,c.prototype.get=r,c.prototype.has=i,c.prototype.set=s,t.exports=c},57071:function(t,e,n){var a=n(10852)(n(78638),"Map");t.exports=a},83369:function(t,e,n){var a=n(24785),o=n(11285),r=n(96e3),i=n(49916),s=n(95265);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var a=t[e];this.set(a[0],a[1])}}c.prototype.clear=a,c.prototype.delete=o,c.prototype.get=r,c.prototype.has=i,c.prototype.set=s,t.exports=c},62705:function(t,e,n){var a=n(78638).Symbol;t.exports=a},29932:function(t){t.exports=function(t,e){for(var n=-1,a=null==t?0:t.length,o=Array(a);++n<a;)o[n]=e(t[n],n,t);return o}},18470:function(t,e,n){var a=n(77813);t.exports=function(t,e){for(var n=t.length;n--;)if(a(t[n][0],e))return n;return-1}},97786:function(t,e,n){var a=n(71811),o=n(40327);t.exports=function(t,e){for(var n=0,r=(e=a(e,t)).length;null!=t&&n<r;)t=t[o(e[n++])];return n&&n==r?t:void 0}},44239:function(t,e,n){var a=n(62705),o=n(89607),r=n(2333),i=a?a.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":i&&i in Object(t)?o(t):r(t)}},28458:function(t,e,n){var a=n(23560),o=n(15346),r=n(13218),i=n(80346),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,d=u.hasOwnProperty,p=RegExp("^"+l.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!r(t)||o(t))&&(a(t)?p:s).test(i(t))}},80531:function(t,e,n){var a=n(62705),o=n(29932),r=n(1469),i=n(33448),s=a?a.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(r(e))return o(e,t)+"";if(i(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-Infinity?"-0":n}},71811:function(t,e,n){var a=n(1469),o=n(15403),r=n(55514),i=n(79833);t.exports=function(t,e){return a(t)?t:o(t,e)?[t]:r(i(t))}},14429:function(t,e,n){var a=n(78638)["__core-js_shared__"];t.exports=a},31957:function(t,e,n){var a="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=a},45050:function(t,e,n){var a=n(37019);t.exports=function(t,e){var n=t.__data__;return a(e)?n["string"==typeof e?"string":"hash"]:n.map}},10852:function(t,e,n){var a=n(28458),o=n(47801);t.exports=function(t,e){var n=o(t,e);return a(n)?n:void 0}},89607:function(t,e,n){var a=n(62705),o=Object.prototype,r=o.hasOwnProperty,i=o.toString,s=a?a.toStringTag:void 0;t.exports=function(t){var e=r.call(t,s),n=t[s];try{t[s]=void 0;var a=!0}catch(t){}var o=i.call(t);return a&&(e?t[s]=n:delete t[s]),o}},47801:function(t){t.exports=function(t,e){return null==t?void 0:t[e]}},51789:function(t,e,n){var a=n(94536);t.exports=function(){this.__data__=a?a(null):{},this.size=0}},80401:function(t){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},57667:function(t,e,n){var a=n(94536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(a){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return o.call(e,t)?e[t]:void 0}},21327:function(t,e,n){var a=n(94536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return a?void 0!==e[t]:o.call(e,t)}},81866:function(t,e,n){var a=n(94536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=a&&void 0===e?"__lodash_hash_undefined__":e,this}},15403:function(t,e,n){var a=n(1469),o=n(33448),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;t.exports=function(t,e){if(a(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!o(t))||(i.test(t)||!r.test(t)||null!=e&&t in Object(e))}},37019:function(t){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},15346:function(t,e,n){var a,o=n(14429),r=(a=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+a:"";t.exports=function(t){return!!r&&r in t}},27040:function(t){t.exports=function(){this.__data__=[],this.size=0}},14125:function(t,e,n){var a=n(18470),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=a(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},82117:function(t,e,n){var a=n(18470);t.exports=function(t){var e=this.__data__,n=a(e,t);return n<0?void 0:e[n][1]}},67518:function(t,e,n){var a=n(18470);t.exports=function(t){return a(this.__data__,t)>-1}},54705:function(t,e,n){var a=n(18470);t.exports=function(t,e){var n=this.__data__,o=a(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},24785:function(t,e,n){var a=n(1989),o=n(38407),r=n(57071);t.exports=function(){this.size=0,this.__data__={hash:new a,map:new(r||o),string:new a}}},11285:function(t,e,n){var a=n(45050);t.exports=function(t){var e=a(this,t).delete(t);return this.size-=e?1:0,e}},96e3:function(t,e,n){var a=n(45050);t.exports=function(t){return a(this,t).get(t)}},49916:function(t,e,n){var a=n(45050);t.exports=function(t){return a(this,t).has(t)}},95265:function(t,e,n){var a=n(45050);t.exports=function(t,e){var n=a(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}},24523:function(t,e,n){var a=n(88306);t.exports=function(t){var e=a(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},94536:function(t,e,n){var a=n(10852)(Object,"create");t.exports=a},2333:function(t){var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},78638:function(t,e,n){var a=n(31957),o="object"==typeof self&&self&&self.Object===Object&&self,r=a||o||Function("return this")();t.exports=r},55514:function(t,e,n){var a=n(24523),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,i=a((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(o,(function(t,n,a,o){e.push(a?o.replace(r,"$1"):n||t)})),e}));t.exports=i},40327:function(t,e,n){var a=n(33448);t.exports=function(t){if("string"==typeof t||a(t))return t;var e=t+"";return"0"==e&&1/t==-Infinity?"-0":e}},80346:function(t){var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},77813:function(t){t.exports=function(t,e){return t===e||t!=t&&e!=e}},27361:function(t,e,n){var a=n(97786);t.exports=function(t,e,n){var o=null==t?void 0:a(t,e);return void 0===o?n:o}},1469:function(t){var e=Array.isArray;t.exports=e},23560:function(t,e,n){var a=n(44239),o=n(13218);t.exports=function(t){if(!o(t))return!1;var e=a(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},13218:function(t){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},37005:function(t){t.exports=function(t){return null!=t&&"object"==typeof t}},33448:function(t,e,n){var a=n(44239),o=n(37005);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==a(t)}},88306:function(t,e,n){var a=n(83369);function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var a=arguments,o=e?e.apply(this,a):a[0],r=n.cache;if(r.has(o))return r.get(o);var i=t.apply(this,a);return n.cache=r.set(o,i)||r,i};return n.cache=new(o.Cache||a),n}o.Cache=a,t.exports=o},79833:function(t,e,n){var a=n(80531);t.exports=function(t){return null==t?"":a(t)}},19567:function(t){"use strict";t.exports=window.jQuery}},e={};function n(a){var o=e[a];if(void 0!==o)return o.exports;var r=e[a]={exports:{}};return t[a](r,r.exports,n),r.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var a in e)n.o(e,a)&&!n.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var a={};!function(){"use strict";n.r(a);var t=n(19567),e=n.n(t),o=n(97981),r=n(44167);const i=()=>"ontouchstart"in window&&"function"==typeof window.ontouchstart||(navigator?.maxTouchPoints??0)>0,s=new WeakMap,c="et_multi_view__hovered",u=(t,e,n,a,o="default")=>{const r=s.get(e)??new Map,u=r.get(o)??new WeakMap,l=u.get(t);l&&l();let d=null,p=null,f=null,v=()=>{};const m=t=>t instanceof Element&&(t.matches("a")||null!==t.closest("a")),h=()=>{f&&(document.removeEventListener("touchstart",f,!0),f=null)},b=t=>{n(t),e.classList.remove(c),p&&(e.removeEventListener("touchstart",p),p=null),e.addEventListener("touchstart",v,{once:!0}),h()},_=t=>{i()?e.removeEventListener("mouseenter",_):(d=t=>{i()?d&&e.removeEventListener("mouseleave",d):(e.addEventListener("mouseenter",_,{once:!0}),n(t))},e.addEventListener("mouseleave",d,{once:!0}),a(t))};v=t=>{const n=()=>{h(),f=t=>{t.target instanceof Node&&!e.contains(t.target)&&b(t)},document.addEventListener("touchstart",f,{once:!0,capture:!0})};if(p=t=>{if(m(t.target))return e.addEventListener("touchstart",v,{once:!0}),void n();b(t)},e.addEventListener("touchstart",p,{once:!0}),m(t.target))return;const o=document.querySelector(`.${c}`);o&&o!==e&&o.dispatchEvent(new Event("touchstart")),a(t),e.classList.add(c),n()},i()?e.addEventListener("touchstart",v,{once:!0}):e.addEventListener("mouseenter",_,{once:!0}),u.set(t,(()=>{e.removeEventListener("mouseenter",_),d&&e.removeEventListener("mouseleave",d),e.removeEventListener("touchstart",v),p&&e.removeEventListener("touchstart",p),h()})),r.set(o,u),s.set(e,r)},l="input, option",d=["active","checked","focus","hover"],p=(t,e)=>"default"===e||null!=t[`${e}StateData`],f=(t,e)=>"default"===e?t.defaultStateData:t[`${e}StateData`]??null,v=({stateDataMap:t,setStateData:e})=>(n,a,o)=>{if(o){const n=((t,e)=>{switch(e){case"default":return t.defaultStateData;case"hover":return t.hoverStateData??null;case"focus":return t.focusStateData??null;case"checked":return t.checkedStateData??null;case"active":return t.activeStateData??null;default:return null}})(t,o);if(null!=n)return void e(n,o,a)}const{state:r,stateData:i}=(({hoverElement:t,stateDataMap:e})=>{const n=d.find((n=>p(e,n)&&((t,e)=>{switch(e){case"active":return t.matches(":active")||null!==t.querySelector(":active");case"checked":return t.matches(":checked")||null!==t.querySelector("input, option:checked");case"focus":return t.matches(":focus, :focus-within");case"hover":return t.matches(":hover");default:return!1}})(t,n)&&null!==f(e,n)));if(n){const t=f(e,n);if(null!==t)return{state:n,stateData:t}}return{state:"default",stateData:e.defaultStateData}})({hoverElement:n,stateDataMap:t});e(i,r,a)},m=t=>{window.dispatchEvent(new CustomEvent(`divi:multiView:${t.item.action}`,{detail:t}))},h=t=>d.some((e=>p(t,e))),b=({data:t,breakpoint:e,baseBreakpoint:n="desktop",breakpointNames:a=["desktop","tablet","phone"]})=>{let o=null,r=null,i=null,s=null,c=null,u=null;const l=a.indexOf(e),d=a.indexOf(n),p=l<d,f=p?a.slice(l,d+1):a.slice(d,l+1);p||f.reverse(),f.forEach((e=>{const n=t?.[e];void 0!==n&&null===o&&(o=n);const a=t?.[`${e}--hover`];void 0!==a&&null===r&&(r=a);const l=t?.[`${e}--focus`];void 0!==l&&null===i&&(i=l);const d=t?.[`${e}--checked`];void 0!==d&&null===s&&(s=d);const p=t?.[`${e}--active`];void 0!==p&&null===c&&(c=p);const f=t?.[`${e}--sticky`];void 0!==f&&null===u&&(u=f)}));const v={defaultStateData:o,hoverStateData:r,stickyStateData:u};return null!==i&&(v.focusStateData=i),null!==s&&(v.checkedStateData=s),null!==c&&(v.activeStateData=c),v},_=new WeakMap,k=({element:t,hoverElements:e,stateDataMap:n,onPseudoStateChange:a,listenerNamespace:o="default"})=>{e.forEach((e=>{const r=_.get(e)??new Map,i=r.get(o)??new WeakMap,s=i.get(t);s&&s();const c=[],d=(t,e,n)=>{t.addEventListener(e,n),c.push({target:t,eventName:e,handler:n})};if(u(t,e,(t=>a(e,t,"default")),(t=>a(e,t,"hover")),`${o}:hover`),null==n.focusStateData&&null==n.activeStateData||(d(e,"focusin",(t=>a(e,t,"focus"))),d(e,"focusout",(t=>a(e,t)))),null!=n.checkedStateData&&(d(e,"change",(t=>a(e,t))),e.querySelectorAll(l).forEach((t=>{d(t,"change",(t=>a(e,t)))}))),null!=n.activeStateData){["mousedown","mouseup","touchstart","touchend","touchcancel","pointerdown","pointerup"].forEach((t=>{d(e,t,(t=>a(e,t)))}))}i.set(t,(()=>{c.forEach((({target:t,eventName:e,handler:n})=>{t.removeEventListener(e,n)}))})),r.set(o,i),_.set(e,r)}))},w=({stateData:t,item:e,element:n,breakpoint:a,state:o,originalEvent:r})=>{const i={};let s=!1;Object.keys(t).forEach((e=>{const a=n.getAttribute(e)??"",o=t[e];o!==a&&("src"===e&&n instanceof HTMLImageElement&&((t,e)=>{t?(e.classList.remove("et_multi_view_hidden_image"),e.classList.add("et_multi_view_image__loading"),e.classList.remove("et_multi_view_image__loaded"),e.addEventListener("load",(()=>{e.classList.remove("et_multi_view_image__loading"),e.classList.add("et_multi_view_image__loaded")}),{once:!0})):e.classList.add("et_multi_view_hidden_image")})(o,n),"href"===e&&n instanceof HTMLAnchorElement&&n.classList.contains("et_pb_lightbox_image--open")&&(t=>{const e=document.querySelector("img.mfp-img");e&&(e.src=t)})(o),n.setAttribute(e,o),s=!0,i[e]=o)})),s&&m({breakpoint:a,item:e,originalEvent:r,state:o,updatedData:i})},y=({stateData:t,item:e,element:n,breakpoint:a,state:o,originalEvent:r})=>{let i,s=!1;t?.add?.forEach((t=>{n.classList.contains(t)||(n.classList.add(t),s=!0,i={...i,add:[...i?.add??[]].concat(t)})})),t?.remove?.forEach((t=>{n.classList.contains(t)&&(n.classList.remove(t),s=!0,i={...i,remove:[...i?.remove??[]].concat(t)})})),s&&m({breakpoint:a,item:e,originalEvent:r,state:o,updatedData:i})},g=({stateData:t,item:e,element:n,breakpoint:a,state:o,originalEvent:r})=>{let i,s=!1;n.innerHTML!==t&&(((t,e,n,a)=>{""===t?"default"===a&&(n?.data&&"object"==typeof n.data&&Object.keys(n.data).some((t=>{if(/--(hover|focus|checked|active|sticky)$/.test(t)){const e=n.data[t];return e&&"string"==typeof e&&""!==e.trim()}return!1}))||e.classList.add("et_multi_view_hidden")):e.classList.contains("et_multi_view_hidden")&&e.classList.remove("et_multi_view_hidden")})(t,n,e,o),n.innerHTML=t,s=!0,i=t),s&&m({breakpoint:a,item:e,originalEvent:r,state:o,updatedData:i})},E=({stateData:t,item:e,element:n,breakpoint:a,state:o,originalEvent:r})=>{const i={};let s=!1;Object.keys(t).forEach((e=>{const a=n.style.getPropertyValue(e)??"",o=t[e];a!==o&&(n.style.setProperty(e,o),s=!0,i[e]=o)})),s&&m({breakpoint:a,item:e,originalEvent:r,state:o,updatedData:i})},D=({stateData:t,item:e,element:n,breakpoint:a,state:o,originalEvent:r})=>{let i,s=!1;"hidden"!==t||n.classList.contains("et_multi_view_hidden")||(n.classList.add("et_multi_view_hidden"),s=!0,i=t),"visible"===t&&n.classList.contains("et_multi_view_hidden")&&(n.classList.remove("et_multi_view_hidden"),s=!0,i=t),s&&m({breakpoint:a,item:e,originalEvent:r,state:o,updatedData:i})},S=({items:t,breakpoint:e,isInit:n=!1,baseBreakpoint:a,breakpointNames:o=["desktop","tablet","phone"]})=>{t.forEach(((t,r)=>{const{action:i,data:s,moduleId:c,moduleName:l,selector:d,hoverSelector:p,switchOnLoad:f}=t,m=document.querySelectorAll(d);switch(i){case"setAttrs":m.forEach((t=>{(({item:t,listenerNamespace:e="update-data-attrs",breakpoint:n,isInit:a=!1,baseBreakpoint:o="desktop",breakpointNames:r=["desktop","tablet","phone"]})=>{const{element:i,hoverElements:s,data:c}=t,{defaultStateData:u,hoverStateData:l,focusStateData:d,checkedStateData:p,activeStateData:f}=b({data:c,breakpoint:n,baseBreakpoint:o,breakpointNames:r});if(null===u)return;const m=(e,a,o)=>{w({stateData:e,state:a,element:i,item:t,breakpoint:n,originalEvent:o})},_={defaultStateData:u,hoverStateData:l,focusStateData:d,checkedStateData:p,activeStateData:f},y=v({stateDataMap:_,setStateData:m});var g;h(_)&&k({element:i,hoverElements:s,stateDataMap:_,onPseudoStateChange:y,listenerNamespace:e}),("desktop"!==n||!a||t.switchOnLoad)&&m(u,"default",g)})({item:{action:i,data:s,moduleId:c,moduleName:l,element:t,hoverElements:p?document.querySelectorAll(p):[t],switchOnLoad:f},listenerNamespace:`update-data-attrs:${c}:${r}`,breakpoint:e,isInit:n,baseBreakpoint:a,breakpointNames:o})}));break;case"setClassName":m.forEach((t=>{(({item:t,breakpoint:e,isInit:n=!1,baseBreakpoint:a="desktop",breakpointNames:o=["desktop","tablet","phone"]})=>{const{element:r,hoverElements:i,data:s}=t,{defaultStateData:c,hoverStateData:l}=b({data:s,breakpoint:e,baseBreakpoint:a,breakpointNames:o});if(null===c)return;const d=n=>{y({stateData:c,state:"default",element:r,item:t,breakpoint:e,originalEvent:n})};if(null!==l){const n=n=>{y({stateData:l,state:"hover",element:r,item:t,breakpoint:e,originalEvent:n})};i.forEach((t=>{u(r,t,d,n,"update-data-class-name")}))}"desktop"===e&&n&&!t.switchOnLoad||d()})({item:{action:i,data:s,moduleId:c,moduleName:l,element:t,hoverElements:p?document.querySelectorAll(p):[t],switchOnLoad:f},breakpoint:e,isInit:n,baseBreakpoint:a,breakpointNames:o})}));break;case"setContent":{const t=d.trim().split(/\s+/);(t.length>1?Array.from(m).filter((e=>{const n=t[0],a=e.closest(n);if(!a)return!1;let o=e.parentElement;for(;o&&o!==a;){const{classList:t}=o;for(let e=0;e<t.length;e++){const n=t[e];if(/^et_pb_.+_\d+$/.test(n))return!1}o=o.parentElement}return!0})):m).forEach((t=>{(({item:t,breakpoint:e,isInit:n=!1,baseBreakpoint:a="desktop",breakpointNames:o=["desktop","tablet","phone"]})=>{const{element:r,hoverElements:i,data:s}=t,{defaultStateData:c,hoverStateData:u,focusStateData:l,checkedStateData:d,activeStateData:p}=b({data:s,breakpoint:e,baseBreakpoint:a,breakpointNames:o});if(null===c)return;const f=(n,a,o)=>{g({stateData:n,state:a,element:r,item:t,breakpoint:e,originalEvent:o})},m={defaultStateData:c,hoverStateData:u,focusStateData:l,checkedStateData:d,activeStateData:p},_=v({stateDataMap:m,setStateData:f});var w;h(m)&&k({element:r,hoverElements:i,stateDataMap:m,onPseudoStateChange:_,listenerNamespace:"update-data-content"}),("desktop"!==e||!n||t.switchOnLoad)&&f(c,"default",w)})({item:{action:i,data:s,moduleId:c,moduleName:l,element:t,hoverElements:p?document.querySelectorAll(p):[t],switchOnLoad:f},breakpoint:e,isInit:n,baseBreakpoint:a,breakpointNames:o})}));break}case"setStyle":m.forEach((t=>{(({item:t,breakpoint:e,isInit:n=!1,baseBreakpoint:a="desktop",breakpointNames:o=["desktop","tablet","phone"]})=>{const{element:r,hoverElements:i,data:s}=t,{defaultStateData:c,hoverStateData:l}=b({data:s,breakpoint:e,baseBreakpoint:a,breakpointNames:o});if(null===c)return;const d=n=>{E({stateData:c,state:"default",element:r,item:t,breakpoint:e,originalEvent:n})};if(null!==l){const n=n=>{E({stateData:l,state:"hover",element:r,item:t,breakpoint:e,originalEvent:n})};i.forEach((t=>{u(r,t,d,n,"update-data-style")}))}"desktop"===e&&n&&!t.switchOnLoad||d()})({item:{action:i,data:s,moduleId:c,moduleName:l,element:t,hoverElements:p?document.querySelectorAll(p):[t],switchOnLoad:f},breakpoint:e,isInit:n,baseBreakpoint:a,breakpointNames:o})}));break;case"setVisibility":m.forEach((t=>{(({item:t,breakpoint:e,isInit:n=!1,baseBreakpoint:a="desktop",breakpointNames:o=["desktop","tablet","phone"]})=>{const{element:r,hoverElements:i,data:s}=t,{defaultStateData:c,hoverStateData:l}=b({data:s,breakpoint:e,baseBreakpoint:a,breakpointNames:o});if(null===c)return;const d=n=>{D({stateData:c,state:"default",element:r,item:t,breakpoint:e,originalEvent:n})};if(null!==l){const n=n=>{D({stateData:l,state:"hover",element:r,item:t,breakpoint:e,originalEvent:n})};i.forEach((t=>{u(r,t,d,n,"update-data-visibility")}))}"desktop"===e&&n&&!t.switchOnLoad||d()})({item:{action:i,data:s,moduleId:c,moduleName:l,element:t,hoverElements:p?document.querySelectorAll(p):[t],switchOnLoad:f},breakpoint:e,isInit:n,baseBreakpoint:a,breakpointNames:o})}))}}))},x=(t,e=!1)=>{const n=window?.diviElementMultiViewData??[];if(!Array.isArray(n)||!n.length)return;const a={};n.forEach((t=>{Object.prototype.hasOwnProperty.call(a,t.moduleId)?a[t.moduleId]={moduleName:t.moduleName,actions:a[t.moduleId].actions.concat(t)}:a[t.moduleId]={moduleName:t.moduleName,actions:[t]}}));const o=window?.diviBreakpointData?.baseBreakpointName??"desktop",r=window?.diviBreakpointData?.enabledBreakpointNames??["desktop","tablet","phone"];Object.keys(a).forEach((n=>{const{actions:i}=a[n];S({items:i,breakpoint:t,isInit:e,baseBreakpoint:o,breakpointNames:r})}))};(()=>{let t,n=!1;const a=(0,r.getEnabledBreakpoints)(),i=()=>{const t=(0,r.getCurrentWindowMode)();n?x(t,!1):(x(t,!0),a.forEach((t=>{if(t.baseDevice)return;const e=t.name.toLowerCase();document.querySelectorAll(`[data-et-mv-hidden-${e}="true"]`).forEach((t=>{t.removeAttribute(`data-et-mv-hidden-${e}`)}))})),n=!0)},s=()=>{t&&clearTimeout(t),t=setTimeout(i,200)};document.addEventListener("DOMContentLoaded",(()=>{window?.screen?.orientation?window.screen.orientation.addEventListener("change",s):window.addEventListener("orientationchange",s),window.addEventListener("resize",s),window.addEventListener("divi:setPaginatedContent",s),o.isBuilder||window.addEventListener("divi:groupCarousel:init",s),e()(document).on("et_pb_after_init_modules",i)}))})()}(),((window.divi=window.divi||{}).scriptLibrary=window.divi.scriptLibrary||{}).scriptLibraryMultiView=a}();