scrivito-neoletter-form-widgets
Version:
A set of Scrivito Neoletter Form Widgets
1 lines • 48.9 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("history"),require("react"),require("react-dom"),require("scrivito")):"function"==typeof define&&define.amd?define(["history","react","react-dom","scrivito"],t):"object"==typeof exports?exports["scrivito-form-widgets"]=t(require("history"),require("react"),require("react-dom"),require("scrivito")):e["scrivito-form-widgets"]=t(e.history,e.react,e["react-dom"],e.scrivito)}(this,((e,t,n,i)=>(()=>{var a={26:(e,t,n)=>{"use strict";var i=n(9155),a=n.n(i),r=n(2311),o=n(2609),s=n(538),l=n(9722);function c(e,t){const n=t.current?.getBoundingClientRect();if(!n)return null;const i=e.nativeEvent;if(i instanceof MouseEvent)return{x:i.clientX-n.left,y:i.clientY-n.top};if(i instanceof TouchEvent){const e=i.touches[0];return{x:e.clientX-n.left,y:e.clientY-n.top}}return null}const d=e=>{e.preventDefault()},m=["touchstart","touchmove","touchend","touchcancel","mouseup","mousedown","mousemove","mouseout"],u=e=>{const t={passive:!1};m.forEach((n=>e.addEventListener(n,d,t)))},g=e=>{m.forEach((t=>e.removeEventListener(t,d)))},p=({id:e,onChange:t,deleteButtonText:n,strokeColor:r,strokeThickness:o,backgroundColor:s,deleteButtonAlignment:l})=>{const{canvasRef:d,handleDrawStart:m,handleDrawEnd:p,handleDrawMove:h,deleteSignature:v}=function(e,t,n,a){const r=(0,i.useRef)(null),[o,s]=(0,i.useState)({clickX:[],clickY:[],clickDrag:[]}),[l,d]=(0,i.useState)(!1);function m(){if(!r.current)return;const e=r.current.getContext("2d");e&&(e.canvas.width=r.current.getBoundingClientRect().width,e.canvas.height=r.current.getBoundingClientRect().height,e.clearRect(0,0,e.canvas.width,e.canvas.height),e.lineJoin="round",e.lineWidth=t,e.strokeStyle=n,e.fillStyle=a,e.fillRect(0,0,e.canvas.width,e.canvas.height),function(e){for(let t=0;t<o.clickX.length;t++)e.beginPath(),o.clickDrag[t]&&t?e.moveTo(o.clickX[t-1],o.clickY[t-1]):e.moveTo(o.clickX[t]-1,o.clickY[t]),e.lineTo(o.clickX[t],o.clickY[t]),e.closePath(),e.stroke()}(e))}function p(e,t){e&&s((n=>({...n,clickX:[...n.clickX,e.x],clickY:[...n.clickY,e.y],clickDrag:[...n.clickDrag,t]})))}return(0,i.useEffect)((()=>{const e=r.current;return e&&u(e),()=>{e&&g(e)}}),[]),(0,i.useEffect)((()=>{m()}),[a,n,t]),(0,i.useEffect)((()=>{if(!l&&r.current&&o.clickDrag.length>0){const t=r.current.toDataURL();e(t)}}),[l,o.clickDrag.length]),{canvasRef:r,handleDrawStart:function(e){d(!0),p(c(e,r),!1),m()},handleDrawEnd:function(){d(!1)},handleDrawMove:function(e){l&&(p(c(e,r),!0),m())},deleteSignature:function(t){if(t.preventDefault(),t.stopPropagation(),s({clickX:[],clickY:[],clickDrag:[]}),r.current){const e=r.current.getContext("2d");e&&(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillStyle=a,e.fillRect(0,0,e.canvas.width,e.canvas.height))}e("")}}}(t,o,r,s);return a().createElement("div",{id:e,className:"signature"},a().createElement("canvas",{ref:d,className:"neoletter-form-canvas",onMouseDown:e=>m(e),onMouseMove:e=>h(e),onMouseUp:p,onMouseOut:p,onTouchStart:e=>m(e),onTouchMove:e=>h(e),onTouchEnd:p,onTouchCancel:p}),a().createElement("div",{className:`${"block"===l?"":l}`},a().createElement("button",{className:"delete btn btn-primary"+("block"===l?" btn-block":""),onClick:v},a().createElement("span",{className:"delete-text"},n))))};var h=n(7586);r.provideComponent(s.FormSignatureWidget,(({widget:e})=>{const[t,n]=i.useState(""),{onInputChange:a}=(0,h.x)();return i.createElement("div",{className:"form-signature mb-3"},e.get("title")&&i.createElement("div",{className:"signature-title"},i.createElement(r.ContentTag,{attribute:"title",content:e,tag:"span"}),e.get("helpText")&&i.createElement(o.$,{widget:e})),i.createElement(p,{id:e.id(),onChange:t=>{n(t),a((0,l.M)(e),t)},deleteButtonText:e.get("deleteButtonText")||"Delete",strokeColor:e.get("strokeColor")||"black",strokeThickness:e.get("strokeThickness")||2,backgroundColor:e.get("backgroundColor")||"#ffffff",deleteButtonAlignment:e.get("deleteButtonAlignment")||"block"}),i.createElement("input",{type:"hidden",name:(0,l.M)(e),value:t}))}))},383:(e,t,n)=>{"use strict";n.d(t,{RJ:()=>l,VC:()=>c,iD:()=>o,zZ:()=>s});var i=n(2311),a=n(7074);const r="undefined"!=typeof window?window:n.g,o=e=>{e?.instanceId&&(r.neoletterFormInstanceId=e.instanceId),r.neoletterFormCaptchaOptions=e?.captchaOptions?e.captchaOptions:{siteKey:"",captchaType:null},r.tracking=e?.tracking||!1,function(){if((0,a.Im)({})){const e=n(9611);e.keys().forEach(e)}else({}).glob(["../Widgets/**/*WidgetClass.ts","../Widgets/**/*WidgetComponent.tsx"],{eager:!0})}(),function(){if("undefined"==typeof window)return;const{captchaType:e,siteKey:t}=l();if(!(0,a.Im)(t))switch(e){case"friendly-captcha":d();break;case"google-recaptcha-v2":case"google-recaptcha":m()}}()},s=()=>r.neoletterFormInstanceId||i.getInstanceId&&i.getInstanceId()||"",l=()=>r.neoletterFormCaptchaOptions,c=()=>r.tracking,d=()=>{if(document.querySelector('script[src^="https://cdn.jsdelivr.net/npm/friendly-challenge"]'))return;const e=document.createElement("script");e.type="module",e.src="https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.14/widget.module.min.js",e.async=!0,e.defer=!0,document.body.appendChild(e)},m=()=>{if(document.querySelector('script[src^="https://www.google.com/recaptcha/api.js"]'))return;const e=document.createElement("script");e.src="https://www.google.com/recaptcha/api.js?render=explicit",e.async=!0,e.defer=!0,document.body.appendChild(e)}},397:(e,t,n)=>{"use strict";var i=n(9155),a=n.n(i),r=n(2311),o=n(7074),s=n(9722);function l(e,t){if(!e||e.length<=0)return"-";if("FormDateWidget"!=t.objClass())return e;const n=t.get("dateType");return"date"==n?new Date(e).toLocaleDateString():"datetime-local"==n?new Date(e).toLocaleString():e}var c=n(9514);const d=({widget:e,reviewContent:t,onHide:n})=>{const[a,r]=i.useState(!1),o=i.useRef(null);i.useEffect((()=>(r(!0),o.current=document.body.style.overflow,document.body.style.overflow="hidden",()=>{document.body.style.overflow=o.current??"visible"})),[t]);const s=()=>{r(!1),n()};return i.createElement("div",{onClick:e=>{var t;(t=e).currentTarget==t.target&&s()},hidden:!a,className:"scrivito-neoletter-review-form-modal"},i.createElement("div",{className:"review-modal-dialog"},i.createElement("div",{className:"review-modal-content"},e.get("showReviewHeader")&&i.createElement("div",{className:"review-modal-header"},i.createElement("h4",null,e.get("reviewHeaderTitle"))),i.createElement("div",{className:"review-modal-body form-review"},t.map(((t,n)=>i.createElement("div",{className:"step-review-container",key:"step-review-container-"+n},e.get("showStepsInReview")&&i.createElement("h4",{className:"step-review"},"Step ",n),t.map(((e,t)=>i.createElement(m,{key:"item-"+t,item:e}))))))),e.get("showReviewFooter")&&i.createElement("div",{className:"review-modal-footer"},i.createElement("button",{className:"",onClick:s},e.get("reviewCloseButtonText"))))))},m=({item:e})=>i.createElement("div",null,i.createElement("div",{className:"review-item-title"},i.createElement("span",null,e.title)),i.createElement("div",{className:"review-item-value"},e.value)),u=({widget:e,reviewContent:t,onHide:n})=>(0,c.createPortal)(i.createElement(d,{widget:e,reviewContent:t,onHide:n}),document.body),g=r.connect((({widget:e,onPageChange:t,onSubmit:n,currentStep:a,isLastPage:c,stepsLength:d,showReview:m,submitDisabled:g})=>{const[p,h]=i.useState(!1),[v,f]=i.useState([]),b=(c||r.isInPlaceEditingActive())&&m;return i.createElement(i.Fragment,null,i.createElement("div",{className:"form-buttons"},i.createElement("button",{className:"btn btn-primary backward-button",onClick:()=>t(!1),hidden:1==a&&!r.isInPlaceEditingActive()},e.get("backwardButtonText")),i.createElement("div",{className:"step-counter"},a+" / "+d),b&&i.createElement("button",{className:"btn btn-primary review-button",onClick:()=>function(e,t,n){const i=function(e){const t=document.getElementById(e.get("formId")),n=new FormData(t),i=new FormData;for(const[e]of n)i.has(e)||i.set(e,n.getAll(e).join(", "));const a=e.get("steps"),r=a.flatMap((e=>e.widgets())),c=e.get("includeEmptyAnswers"),d=Array.from(t.querySelectorAll("input, select, textarea")),m=(0,o.sb)(d.map((e=>e.name))),u=[];for(const e of m){const t=i.get(e);if((0,o.Im)(t)&&!c)continue;const n=d.find((t=>t.name==e));if("fax"==e||n&&"hidden"==n.type&&!n.classList.contains("show-in-review"))continue;const m=r.find((t=>(0,s.M)(t)==e));if(m){const n=a.find((t=>t.widgets().find((t=>(0,s.M)(t)==e)))),i=n?.get("stepNumber"),r=m.get("label")||m.get("title")||"";u[i]||(u[i]=[]),u[i].push({title:r,value:l(t,m)})}}return u}(e);t(i),n(!0)}(e,f,h)},e.get("reviewButtonText")),i.createElement("button",{className:"btn btn-primary forward-button "+(r.isInPlaceEditingActive()?"edit-mode-margin":""),onClick:()=>t(!0),hidden:c},e.get("forwardButtonText")),i.createElement("button",{className:"btn btn-primary submit-button",onClick:n,disabled:c&&g,hidden:!(c||r.isInPlaceEditingActive())},e.get("submitButtonText"))),b&&p&&i.createElement(u,{widget:e,reviewContent:v,onHide:()=>h(!1)}))})),p=r.connect((({widget:e,onSubmit:t,submitDisabled:n})=>i.createElement("div",{className:`${"block"===e.get("singleSubmitButtonAlignment")?"":e.get("singleSubmitButtonAlignment")}`},i.createElement("button",{className:"btn btn-primary"+("block"===e.get("singleSubmitButtonAlignment")?" btn-block":""),onClick:t,disabled:n},e.get("submitButtonText")))));var h=n(9532);let v;const f=r.connect((({widget:e})=>{const[t,n]=i.useState(null);return i.useEffect((()=>{const e=function(){if("undefined"!=typeof window)return v||(v=(0,h.createBrowserHistory)()),v}();if(e)return n(w(e.location)),e.listen((({location:e})=>n(w(e))))}),[]),i.createElement(i.Fragment,null,i.createElement("input",{type:"hidden",name:"form_id",value:e.get("formId")}),i.createElement("input",{type:"hidden",name:"url",value:t||r.urlFor(e.obj())}),i.createElement(r.InPlaceEditingOff,null,i.createElement(r.ContentTag,{content:e,attribute:"hiddenFields"})),i.createElement(b,null))})),b=()=>i.createElement("div",{"aria-hidden":"true",className:"winnie-the-pooh"},i.createElement("input",{autoComplete:"off",role:"presentation",name:"fax",tabIndex:-1}));function w(e){return`${window.location.origin}${e.pathname}${e.search}`}var y=n(383);const E=()=>i.createElement("span",{className:"scrivito-neoletter-form-widgets missing-id"},"Warning! instanceId has not been configured for the form widget."),C=({submissionFailureText:e,type:t,widget:n,retryButtonText:a,showRetryButton:o,buttonAlignment:s,fixedFormHeight:l,formHeight:c,getClassNames:d,onReSubmit:m})=>i.createElement("div",{className:`form-submission-failed ${d()}`,style:l?{height:`${c}px`}:{}},"default"==t?i.createElement("div",{className:"text-center"},i.createElement("i",{className:"bi bi-exclamation-triangle-fill bi-2x","aria-hidden":"true"})," ",i.createElement("span",null,e)):i.createElement(r.ContentTag,{content:n,attribute:"failedMessageWidgets"}),o&&i.createElement("div",{className:`${"block"===s?"":s}`},i.createElement("button",{className:"btn btn-primary retry-button "+("block"===s?" btn-block":""),onClick:m},a))),F=({submissionSuccessText:e,type:t,widget:n,fixedFormHeight:a,formHeight:o,getClassNames:s})=>i.createElement("div",{className:`form-submission-succeeded ${s()}`,style:a?{height:`${o}px`}:{}},"default"==t?i.createElement("div",{className:"text-center"},i.createElement("i",{className:"bi bi-check-lg bi-2x","aria-hidden":"true"})," ",i.createElement("span",null,e)):i.createElement(r.ContentTag,{content:n,attribute:"submittedMessageWidgets"})),x=({submittingText:e,type:t,widget:n,fixedFormHeight:a,formHeight:o,getClassNames:s})=>i.createElement("div",{className:`form-submission-submitting ${s()}`,style:a?{height:`${o}px`}:{}},"default"==t?i.createElement("div",{className:"text-center"},i.createElement("i",{className:"bi bi-arrow-repeat bi-2x rotate-form-submitting-icon","aria-hidden":"true"})," ",i.createElement("span",null,e)):i.createElement(r.ContentTag,{content:n,attribute:"submittingMessageWidgets"}));var S=n(7382);const T=(0,i.createContext)(void 0),k=({children:e})=>{const[t,n]=(0,i.useState)(null),[r,o]=(0,i.useState)((()=>async()=>"")),s=(0,i.useCallback)((e=>{o((()=>e))}),[]),l=(0,i.useCallback)((async()=>{const e=await r();return n(e),e}),[r]);return a().createElement(T.Provider,{value:{captchaToken:t,setCaptchaToken:n,registerCaptchaTrigger:s,triggerCaptcha:l,isCaptchaResolved:!!t}},e)},N=()=>{const e=(0,i.useContext)(T);if(!e)throw new Error("useCaptcha must be used within CaptchaProvider");return e},I=({siteKey:e,widget:t,theme:n,endpoint:a})=>{const{setCaptchaToken:r}=N(),s=t.get("friendlyCaptchaStartMode")||"none",l=(0,o.Im)(t.get("friendlyCaptchaLanguage"))?void 0:t.get("friendlyCaptchaLanguage"),c=i.useRef(),d=i.useRef(null);return i.useLayoutEffect((()=>(!c.current&&d.current&&window.friendlyChallenge&&(c.current=new window.friendlyChallenge.WidgetInstance(d.current,{startMode:s,doneCallback:r,sitekey:e,language:l,puzzleEndpoint:"eu"==a?"https://eu-api.friendlycaptcha.eu/api/v1/puzzle":"https://api.friendlycaptcha.com/api/v1/puzzle"})),()=>{c.current&&c.current.reset()})),[d]),i.createElement("div",{ref:d,className:`frc-captcha ${n}`})},W=({siteKey:e,widget:t,theme:n})=>{const a=t.get("googleRecaptchaLanguage"),r=i.useRef(null),o=i.useRef(null),{setCaptchaToken:s}=N(),l=i.useCallback((()=>{r.current&&null===o.current&&window.grecaptcha.render&&(o.current=window.grecaptcha.render(r.current,{sitekey:e,theme:n,callback:s,"expired-callback":()=>s(null),hl:a}))}),[e,n,s,a]);return i.useEffect((()=>{const e=()=>{window.grecaptcha?.ready&&window.grecaptcha.ready((()=>{l()}))};return window.grecaptcha?.ready?window.grecaptcha.ready((()=>{l()})):(window.onloadCallback=e,e()),()=>{null!==o.current&&window.grecaptcha.reset(o.current)}}),[l]),i.useLayoutEffect((()=>{r.current&&window.grecaptcha?.render&&l()}),[l]),i.createElement("div",{ref:r,className:"g-recaptcha"})},M=({siteKey:e})=>{const{registerCaptchaTrigger:t}=N();return i.useEffect((()=>{"undefined"!=typeof window&&R()}),[]),i.useEffect((()=>{"undefined"!=typeof window&&t((async()=>new Promise((t=>{window.grecaptcha?window.grecaptcha.ready((()=>{window.grecaptcha.execute(e,{action:"submit"}).then(t)})):t("")}))))}),[e,t]),null},P=({siteKey:e,widget:t,theme:n,type:a})=>"google-recaptcha-v2"===a||"google-recaptcha"===a?i.createElement(W,{siteKey:e,widget:t,theme:n}):"google-recaptcha-v3"===a?i.createElement(M,{siteKey:e}):null,R=()=>{if(document.getElementById("google-recaptcha-v3"))return;const{siteKey:e}=(0,y.RJ)(),t=document.createElement("script");t.id="google-recaptcha-v3",t.src=`https://www.google.com/recaptcha/api.js?render=${e}`,t.async=!0,t.defer=!0,document.body.appendChild(t)},B=(0,i.createContext)(void 0),A=()=>{const e=(0,i.useContext)(B);if(!e)throw new Error("useFormAttributes must be used within a FormAttributesProvider");return e},L=({values:e,children:t})=>a().createElement(B.Provider,{value:e},t),q=({widget:e,hidden:t})=>{const n=(0,y.RJ)(),{captchaAlignment:a,captchaTheme:s}=A();return r.isInPlaceEditingActive()&&(0,o.Im)(n.siteKey)?i.createElement("div",{className:"text-center missing-site-key"},i.createElement("span",null,"Warning: You activated CAPTCHA but did not set a site key!")):(0,o.Im)(n.siteKey)?null:i.createElement("div",{hidden:t,className:`mb-3 captcha-container ${a}`},"friendly-captcha"===n.captchaType?i.createElement(I,{siteKey:n.siteKey,widget:e,endpoint:"global",theme:s}):i.createElement(P,{siteKey:n.siteKey,type:n.captchaType,widget:e,theme:s,key:s}))};function D(e){const t=e.get("formId"),n=document.getElementById(t);if(!n)return;const i=new FormData(n),a=new FormData;(0,y.VC)()&&(e=>{const t=(()=>{try{return localStorage.getItem("neo_tid")||""}catch(e){return""}})();t&&e.set("tracking_id",t)})(a);for(const[e]of i)a.has(e)||a.set(e,i.getAll(e).join(", "));const r=e.widgets().map((e=>(0,s.M)(e))).filter(Boolean);for(const e of r)a.has(e)||a.set(e,"");return a}function H(e){const t=window.scrollY,n=function(e){return e.getBoundingClientRect().top+window.pageYOffset}(e)-95;e.scroll(0,0),Math.abs(t-n)>15&&window.scrollTo({top:n,behavior:"smooth"})}var $=n(8135);var j=n(7586);r.provideComponent(S.FormStepContainerWidget,(({widget:e})=>{const t=(0,y.zZ)(),n=function(e){return{showReview:e.get("showReview")||!1,showCaptcha:e.get("showCaptcha")||!1,containerClassNames:e.get("customClassNames")||"",fixedFormHeight:e.get("fixedFormHeight")||!1,formHeight:e.get("formHeight")||35,captchaAlignment:e.get("captchaAlignment")||"center",captchaTheme:e.get("captchaTheme")||"light",showBorder:e.get("showBorder")||!1,submittingMessage:e.get("submittingMessage")||"",submittingMessageType:e.get("submittingMessageType")||"default",submittedMessage:e.get("submittedMessage")||"",submittedMessageType:e.get("submittedMessageType")||"default",failedMessage:e.get("failedMessage")||"",failedMessageType:e.get("failedMessageType")||"default",showRetryButton:e.get("showRetryButton")||!1,retryButtonText:e.get("retryButtonText")||"",retryButtonAlignment:e.get("retryButtonAlignment")||"text-center",formId:e.get("formId"),showSubmittingPreview:e.get("previewSubmittingMessage")||!1,showSubmittedPreview:e.get("previewSubmittedMessage")||!1,showFailedPreview:e.get("previewFailedMessage")||!1,formScrollbarWidth:e.get("scrollbarWidth")||"default",formOverscrollBehavior:e.get("overscrollBehavior")||"default",steps:e.get("steps")||[],formType:e.get("formType")||"single-step"}}(e);return(0,o.Im)(t)?i.createElement(E,null):i.createElement(k,null,i.createElement($.L,null,i.createElement(L,{values:n},i.createElement(O,{widget:e,tenant:t}))))}));const O=({widget:e,tenant:t})=>{const{formId:n,showBorder:a,failedMessage:s,failedMessageType:l,retryButtonAlignment:c,retryButtonText:d,showRetryButton:m,submittedMessage:u,submittedMessageType:h,submittingMessage:v,submittingMessageType:b,fixedFormHeight:w,showCaptcha:E,showReview:S,containerClassNames:T,formHeight:k}=A(),{currentStep:I,isSingleStep:W,stepsLength:M,isSubmitting:P,successfullySent:R,submissionFailed:B,totalFormHeight:L,containerRef:O,isSubmitDisabled:_,handleInputChange:V,getStepInfo:K,onSubmit:U,onPageChange:z,getFormClassNames:Y}=((e,t)=>{const[n,a]=(0,i.useState)(1),[s,l]=(0,i.useState)(!1),[c,d]=(0,i.useState)(!1),[m,u]=(0,i.useState)(!1),[g,p]=(0,i.useState)({}),[h,v]=(0,i.useState)(!1),[f,b]=(0,i.useState)(null),w=(0,i.useRef)(null),{formType:E,steps:C,showCaptcha:F,fixedFormHeight:x,formId:S,formOverscrollBehavior:T,formScrollbarWidth:k,showFailedPreview:I,showSubmittedPreview:W,showSubmittingPreview:M}=A(),P=C.length,R=n===P,B="single-step"===E,{validate:L}=(0,$.w)(),{captchaType:q}=(0,y.RJ)(),{triggerCaptcha:j,isCaptchaResolved:O}=N();(0,i.useEffect)((()=>{(0,r.isInPlaceEditingActive)()&&(M?_():W?V():I?K():(l(!1),u(!1),d(!1)))}),[I,W,M]),(0,i.useEffect)((()=>{(0,r.isInPlaceEditingActive)()&&(C.forEach(((e,t)=>{const n=t+1;e.update({stepNumber:n,isSingleStep:B})})),P>1&&B?e.update({formType:"multi-step"}):1!=P||B||e.update({formType:"single-step"}))}),[C]),(0,i.useEffect)((()=>{if(x&&w.current){const e=w.current.getBoundingClientRect();b(e.height)}}),[x]),(0,i.useEffect)((()=>{"google-recaptcha-v3"==q?v(!1):F&&R&&v(!O)}),[O,F,R]);const _=()=>{l(!0),d(!1),u(!1)},V=()=>{l(!1),d(!0),u(!1)},K=()=>{l(!1),d(!1),u(!0)},U=()=>L(S,n);return{currentStep:n,isSingleStep:B,stepsLength:P,isSubmitting:s,successfullySent:c,submissionFailed:m,totalFormHeight:f,containerRef:w,isSubmitDisabled:h,handleInputChange:(e,t)=>{p("string"==typeof e?n=>({...n,[e]:t||""}):t=>({...t,...e}))},getStepInfo:e=>{let t=!1,i=0;return C.some(((a,r)=>a.id()===e&&(i=r+1,t=i===n,!0))),{stepNumber:i,isActive:t,isSingleStep:B}},onSubmit:async()=>{if(!g)return;if((0,r.isInPlaceEditingActive)()&&"multi-step"==E&&console.log("In edit mode, only the first step will be validated for mandatory fields."),!U())return;const n=document.getElementById(S);n&&H(n),_();try{const n=Object.fromEntries(D(e));if("google-recaptcha-v3"===q){const e=await j();n["g-recaptcha-response"]=e}p(n),await async function(e,t){if((0,o.Im)(t))return void console.warn("Unable to submit form, tenant not found!");const n=`https://api.justrelate.com/neoletter/instances/${t}/form_submissions`,i=new URLSearchParams(e),a=await fetch(n,{method:"post",body:i});if(!a.ok)throw new Error(`Response was not successful. Status code: ${a.status}.`)}(n,t),V()}catch(e){console.error(e),K()}},onPageChange:e=>{let t=!0;if((0,r.isInPlaceEditingActive)())return void console.log("Navigation buttons do not work in edit mode.");if(e&&(t=U()),!t)return;const i=e?Math.min(n+1,P):Math.max(n-1,1);a(i),setTimeout((()=>{H(document.getElementById(S))}),0)},indicateProgress:_,indicateSuccess:V,indicateFailure:K,getFormClassNames:()=>{const e=[];return x&&(e.push("fixed-container-height"),"none"==T&&e.push("no-overscroll-y"),"thin"==k?e.push("thin-scrollbar"):"none"==k&&e.push("hidden-scrollbar")),e.join(" ")}}})(e,t),{captchaType:X}=(0,y.RJ)(),J=I==M,Z="google-recaptcha-v3"==X||E;return P?i.createElement(x,{submittingText:v,type:b,fixedFormHeight:w,formHeight:L||k,getClassNames:Y,widget:e}):R?i.createElement(F,{submissionSuccessText:u,type:h,fixedFormHeight:w,formHeight:L||k,getClassNames:Y,widget:e}):B?i.createElement(C,{submissionFailureText:s,type:l,widget:e,onReSubmit:U,showRetryButton:m,retryButtonText:d,buttonAlignment:c,fixedFormHeight:w,formHeight:L||k,getClassNames:Y}):i.createElement("div",{ref:O,className:`scrivito-neoletter-form-widgets form-container-widget ${T} ${a?"form-border":""} ${r.isInPlaceEditingActive()?"edit-mode":""}`},i.createElement("form",{method:"post",id:n,className:Y(),style:w?{height:`${k}em`}:{}},i.createElement(f,{widget:e}),i.createElement(j.O,{value:{getStepInfo:K,navigateOnClick:()=>z(!0),onInputChange:V}},i.createElement(r.ContentTag,{content:e,attribute:"steps"})),Z&&i.createElement(q,{widget:e,hidden:!(J||r.isInPlaceEditingActive())})),W?i.createElement(p,{widget:e,onSubmit:U,submitDisabled:_}):i.createElement(g,{widget:e,onSubmit:U,onPageChange:z,currentStep:I,stepsLength:M,isLastPage:J,showReview:S,submitDisabled:_}))}},516:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormSelectWidget:()=>i});const i=n(2311).provideWidgetClass("FormSelectWidget",{attributes:{selectionType:["enum",{values:["radio","dropdown","multi","linear-scale"]}],title:"html",items:"stringlist",customFieldName:"string",required:"boolean",helpText:"html",linearScaleLowerLimit:["enum",{values:["0","1"]}],linearScaleUpperLimit:["enum",{values:["2","3","4","5","6","7","8","9","10"]}],linearScaleLowerLabel:"string",linearScaleUpperLabel:"string",clearSelectionButtonText:"string",inlineView:"boolean",useFloatingLabel:"boolean",navigateOnClick:"boolean",showClearSelectionButton:"boolean",validationText:"string"}})},538:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormSignatureWidget:()=>i});const i=n(2311).provideWidgetClass("FormSignatureWidget",{attributes:{title:"html",helpText:"html",customFieldName:"string",strokeThickness:"integer",strokeColor:"string",backgroundColor:"string",deleteButtonText:"string",deleteButtonAlignment:["enum",{values:["left","text-center","text-end","block"]}]}})},764:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormInputFieldWidget:()=>r});var i=n(2311),a=n(1902);const r=i.provideWidgetClass("FormInputFieldWidget",{attributes:{label:"html",placeholder:"string",required:"boolean",helpText:"html",type:["enum",{values:[...a.n,"custom"]}],customType:["enum",{values:["single_line","multi_line"]}],customFieldName:"string",useFloatingLabel:"boolean",useUserCredentials:"boolean",validationText:"string"}})},771:(e,t,n)=>{"use strict";var i=n(9155),a=n(2311);const r=({icon:e,color:t,size:n,onSelect:a,onHover:r,onHoverOut:o})=>i.createElement("i",{className:`bs-icon ${e} ${n} rating-icon`,style:{color:t,paddingRight:"0.08em"},onClick:a,onMouseOver:r,onMouseOut:o});var o=n(9722),s=n(2609),l=n(9102),c=n(7586);a.provideComponent(l.FormRatingWidget,(({widget:e})=>{const[t,n]=i.useState(0),[l,u]=i.useState(0),g=e.get("hoverEffect"),p=function(e){switch(e.get("colorType")){case"custom":return e.get("customColor");case"secondary":return"var(--bs-secondary, #f03a47)";case"primary":return"var(--bs-primary, #5c9dcd)";default:return"gold"}}(e),{onInputChange:h}=(0,c.x)();return i.createElement("div",{className:"form-rating mb-3"},e.get("title")&&i.createElement("div",{className:"rating-title"},i.createElement(a.ContentTag,{attribute:"title",content:e,tag:"span"}),e.get("helpText")&&i.createElement(s.$,{widget:e})),d(5).map(((a,s)=>i.createElement(r,{key:s,icon:e.get("icon")||"bi-star-fill",color:m(p,t>s,g&&l>s),size:e.get("size")||"bs-icon-default",onSelect:()=>{return n(t=s+1),void(h&&h((0,o.M)(e),0==t?"":t.toString()));var t},onHover:()=>g&&u(s+1),onHoverOut:()=>g&&u(0)}))),i.createElement("input",{type:"hidden",className:"show-in-review",name:(0,o.M)(e),value:0==t?"":t}))}));const d=e=>[...Array(e)],m=(e,t,n)=>t||n?e:""},1338:(e,t,n)=>{"use strict";n.d(t,{n:()=>a});var i=n(9155);const a=({value:e,id:t})=>i.createElement("option",{value:e,id:t},e)},1629:(e,t,n)=>{"use strict";n.r(t);var i=n(9155),a=n(2311),r=n(9722),o=n(2609),s=n(6620),l=n(4588),c=n(7074),d=n(7586),m=n(1634);a.provideComponent(l.FormDateWidget,(({widget:e})=>{const t=(0,r.M)(e),[n,l]=i.useState(""),u=e.get("required"),g=e.get("validationText")||"Please enter a date",{onInputChange:p}=(0,d.x)(),{isLocallyValid:h,setIsLocallyValid:v,ref:f}=(0,m.j)(t,u),b=!h;return i.createElement("div",{ref:f,className:"form-date mb-3"},e.get("title")&&i.createElement("div",{className:"date-title"},i.createElement(a.ContentTag,{attribute:"title",content:e,tag:"span"}),e.get("required")&&i.createElement(s.q,null),e.get("helpText")&&i.createElement(o.$,{widget:e})),i.createElement("input",{onChange:e=>{const n=(0,c.Im)(e.target.value)?"":new Date(e.target.value).toISOString();u&&v(!(0,c.Im)(n)),l(n),p(t,n)},className:"datepicker form-control "+(b?"is-invalid":""),type:e.get("dateType")}),i.createElement("input",{type:"hidden",className:"show-in-review",name:(0,r.M)(e),value:n}),b&&i.createElement("div",{className:"invalid-feedback"},g))}))},1634:(e,t,n)=>{"use strict";n.d(t,{j:()=>r});var i=n(9155),a=n(8135);const r=(e,t)=>{const n=(0,i.useRef)(null),{invalidFields:r,firstInvalidField:o,setFirstInvalidField:s,registerField:l}=(0,a.w)(),[c,d]=(0,i.useState)(!0);return(0,i.useEffect)((()=>{l(e,t)}),[e,t]),(0,i.useEffect)((()=>{void 0!==r[e]&&d(!r[e])}),[r,e]),(0,i.useEffect)((()=>{o===e&&n.current&&requestAnimationFrame((()=>{n.current.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}),s(null)}))}),[o]),{isLocallyValid:c,setIsLocallyValid:d,ref:n}}},1902:(e,t,n)=>{"use strict";n.d(t,{n:()=>i});const i=["email","name","given_name","family_name","middle_name","gender","salutation","company","phone_number"]},2030:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormConditionWidget:()=>i});const i=n(2311).provideWidgetClass("FormConditionWidget",{onlyInside:"FormConditionalContainerWidget",attributes:{title:"string",content:"widgetlist"}})},2149:(e,t,n)=>{"use strict";n.r(t);var i=n(9155),a=n.n(i),r=n(2311),o=n(9972),s=n(7586);r.provideComponent(o.FormStepWidget,(({widget:e})=>{const{getStepInfo:t}=(0,s.x)(),n=t(e.id()),i=r.isInPlaceEditingActive()&&!n.isSingleStep;return a().createElement("div",{className:i?"step-border":n.isActive||n.isSingleStep?"":"hide","data-step-number":n.stepNumber},i&&a().createElement("span",{className:"step-preview-count"},"Step "+n.stepNumber),a().createElement("div",{className:"row"},a().createElement(r.ContentTag,{content:e,attribute:"items"})))}))},2311:e=>{"use strict";e.exports=i},2609:(e,t,n)=>{"use strict";n.d(t,{$:()=>r});var i=n(9155),a=n(2311);const r=({widget:e})=>{const[t,n]=i.useState(!1);return i.createElement("div",{className:"helptext-container"},i.createElement("i",{className:"bi bi-question-circle",onMouseEnter:()=>{n(!0)},onMouseLeave:()=>{n(!1)}}),t&&i.createElement("div",{className:"form-popover-container"},i.createElement("div",{className:"form-popover-body"},i.createElement(a.InPlaceEditingOff,null,i.createElement(a.ContentTag,{content:e,attribute:"helpText"})))))}},4399:(e,t,n)=>{"use strict";n.d(t,{K:()=>o,v:()=>s});var i=n(9155),a=n.n(i);const r=(0,i.createContext)(void 0),o=()=>{const e=(0,i.useContext)(r);if(!e)throw new Error("useConditionContext must be used within a ConditionProvider");return e},s=({children:e,value:t})=>a().createElement(r.Provider,{value:t},e)},4400:(e,t,n)=>{"use strict";var i=n(9155),a=n(2311),r=n(7074),o=n(9722),s=n(7771),l=n(6620),c=n(2609),d=n(1634);const m=a.connect((({widget:e,onChangeSelected:t})=>{const n=(0,o.M)(e),m=e.get("required"),u=e.get("validationText")||"Please select an item ",{isLocallyValid:g,setIsLocallyValid:p,ref:h}=(0,d.j)(n,m),v=!g,f=e=>{p(!(0,r.Im)(e.currentTarget.value)),t(e)};return i.createElement("div",{ref:h,className:"mb-3 select-container "+(a.isInPlaceEditingActive()?"condition-wrapper":"")},e.get("title")&&i.createElement("div",{className:"select-title"},i.createElement(a.ContentTag,{attribute:"title",content:e,tag:"span"}),e.get("required")&&i.createElement(l.q,null),e.get("helpText")&&i.createElement(c.$,{widget:e})),i.createElement("div",{className:"row "},e.get("conditions").map((t=>i.createElement(s.e,{selectionType:"radio",name:(0,o.M)(e),onChange:f,value:t.get("title"),id:t.id(),required:e.get("required"),isInvalid:v,key:t.id()})))),m&&v&&i.createElement("div",{className:"invalid-feedback"},u))}));var u=n(1338);const g=a.connect((({widget:e,onChangeSelected:t})=>{const n=e.get("required"),s=(0,o.M)(e),m=e.get("validationText")||"Please select an item",{isLocallyValid:g,setIsLocallyValid:h,ref:v}=(0,d.j)(s,n),f=!g;return i.createElement("div",{ref:v,className:"mb-3 dropdown-container "+(a.isInPlaceEditingActive()?"condition-wrapper":"")},e.get("title")&&i.createElement("div",{className:"select-title"},i.createElement(a.ContentTag,{attribute:"title",content:e,tag:"span"}),e.get("required")&&i.createElement(l.q,null),e.get("helpText")&&i.createElement(c.$,{widget:e})),i.createElement("select",{className:"form-select "+(f?"is-invalid":""),name:(0,o.M)(e),id:e.id(),onChange:e=>{h(!(0,r.Im)(e.currentTarget.value)),t(e)}},i.createElement(p,null),e.get("conditions").map((e=>i.createElement(u.n,{value:e.get("title"),id:e.id(),key:e.id()})))),n&&f&&i.createElement("div",{className:"invalid-feedback"},m))})),p=()=>i.createElement(u.n,{value:"",id:"empty-option",key:"empty-option"}),h=({widget:e,onChangeSelected:t})=>{const n="dropdown"==e.get("headerType");return i.createElement(i.Fragment,null,a.isInPlaceEditingActive()&&i.createElement("span",{className:"header-info"},"Conditional Header"),n?i.createElement(g,{widget:e,onChangeSelected:t}):i.createElement(m,{widget:e,onChangeSelected:t}))};var v=n(7534),f=n(7586),b=n(4399);a.provideComponent(v.FormConditionalContainerWidget,(({widget:e})=>{const[t,n]=i.useState(""),s="dropdown"==e.get("headerType"),{onInputChange:l}=(0,f.x)();return i.createElement(i.Fragment,null,i.createElement(h,{widget:e,onChangeSelected:t=>{const i=s?t.target.options[t.target.selectedIndex].id:t.target.id;n(i),l&&(l(e.get("customFieldName"),t.target.value),(e=>{const t=e.flatMap((e=>e.get("content"))).map((e=>(0,o.M)(e))).filter((e=>!(0,r.Im)(e))).reduce(((e,t)=>(e[t]="",e)),{});l(t)})(e.get("conditions")))}}),i.createElement(b.v,{value:{getConditionData:n=>{const i=e.get("conditions")||[];let a=!1;return i.some((e=>e.id()===n&&(a=t===n,!0))),{isActive:a}}}},i.createElement(a.ContentTag,{content:e,attribute:"conditions"})))}))},4588:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormDateWidget:()=>i});const i=n(2311).provideWidgetClass("FormDateWidget",{attributes:{title:"html",helpText:"html",required:"boolean",customFieldName:"string",dateType:["enum",{values:["date","datetime-local"]}],validationText:"string"}})},5259:(e,t,n)=>{"use strict";n.r(t);var i=n(9155),a=n(2311),r=n(9722),o=n(6620),s=n(2609),l=n(7670),c=n(7586),d=n(1634);a.provideComponent(l.FormCheckboxWidget,(({widget:e})=>{const t=`form_checkbox_widget_${e.id()}`,n=(0,r.M)(e),l=e.get("required"),m=e.get("validationText")||"Please tick the box",{onInputChange:u}=(0,c.x)(),{isLocallyValid:g,setIsLocallyValid:p,ref:h}=(0,d.j)(n,l),v=!g;return i.createElement("div",{ref:h,className:"form-check mb-3"},i.createElement("input",{className:"form-check-input "+(v?"is-invalid":""),id:t,type:"checkbox",name:(0,r.M)(e),onChange:e=>{const t=e.currentTarget.checked;l&&p(t),u(n,t?"on":"")}}),i.createElement("label",{className:"form-check-label",htmlFor:t},i.createElement(a.ContentTag,{content:e,attribute:"label",tag:"span"}),e.get("required")&&i.createElement(o.q,null),e.get("helpText")&&i.createElement(s.$,{widget:e})),v&&i.createElement("div",{className:"invalid-feedback"},m))}))},5485:(e,t,n)=>{"use strict";n.r(t);var i=n(9155),a=n(2311),r=n(9722),o=n(7570),s=n(6620),l=n(2609),c=n(764),d=n(7074),m=n(7586),u=n(1634);function g(e){switch(e){case"phone_number":return 50;case"email":return 120;default:return 250}}a.provideComponent(c.FormInputFieldWidget,(({widget:e})=>{const t=`form_text_input_widget_${e.id()}`,n=(0,r.M)(e),c=e.get("required"),p=e.get("validationText")||"Please fill out this field ",h=e.get("useFloatingLabel"),[v,f]=i.useState(!1),{onInputChange:b}=(0,m.x)(),{isLocallyValid:w,setIsLocallyValid:y,ref:E}=(0,u.j)(n,c),C=!w,F=t=>{f(""!==t.target.value),c&&y(""!==t.target.value),b&&b((0,r.M)(e),t.target.value)};return i.createElement("div",{ref:E,className:`mb-3 form-input-container ${h?"floating-label":""} ${v?"is-selected":""}`},!(0,d.Im)(e.get("label"))&&i.createElement(i.Fragment,null,e.get("label")&&i.createElement("label",{htmlFor:t,className:"input-label"},i.createElement(a.ContentTag,{attribute:"label",content:e,tag:"span"}),e.get("required")&&i.createElement(s.q,null),e.get("helpText")&&i.createElement(l.$,{widget:e}))),(0,o.c)(e)&&"multi_line"===e.get("customType")?i.createElement("textarea",{className:"form-control "+(C?"is-invalid":""),id:t,rows:3,name:n,placeholder:e.get("placeholder"),onChange:F}):i.createElement("input",{className:"form-control "+(C?"is-invalid":""),id:t,name:n,maxLength:g(n),placeholder:e.get("placeholder"),type:(x=n,"email"===x?"email":"phone_number"===x?"tel":"text"),defaultValue:(()=>{const t=e.get("type");return e.get("useUserCredentials")&&a.isUserLoggedIn()&&a.currentPage()?.isRestricted()?"email"==t?a.currentUser()?.email()||"":"name"==t&&a.currentUser()?.name()||"":""})(),onChange:F}),C&&i.createElement("div",{className:"invalid-feedback"},p));var x}))},6620:(e,t,n)=>{"use strict";n.d(t,{q:()=>a});var i=n(9155);const a=()=>{const[e,t]=i.useState(!1);return i.createElement("div",{className:"mandatory-container"},i.createElement("span",{className:"text-mandatory",onMouseEnter:()=>{t(!0)},onMouseLeave:()=>{t(!1)}},"*"),e&&i.createElement("div",{className:"form-popover-container"},i.createElement("div",{className:"form-popover-body"},"mandatory")))}},7074:(e,t,n)=>{"use strict";n.d(t,{Im:()=>i,sb:()=>r,y1:()=>a});const i=e=>null==e||(e instanceof Map||e instanceof Set?0===e.size:[Object,Array].includes((e||{}).constructor)&&!Object.entries(e||{}).length),a=(e,t)=>Array.from({length:t-e},((t,n)=>e+n)),r=e=>[...new Set(e)]},7351:(e,t,n)=>{"use strict";var i=n(9155),a=n(2311),r=n(9722),o=n(8390),s=n(7074);a.provideComponent(o.FormHiddenFieldWidget,(({widget:e})=>{const t=(0,r.M)(e),n=l(e,t);return(0,s.Im)(t)?null:i.createElement("input",{type:"hidden",name:t,value:n})}));const l=(e,t)=>{if(a.currentPage()?.isRestricted()&&a.isUserLoggedIn()&&("email"==t||"name"==t))return"name"==t?a.currentUser()?.name()||"":a.currentUser()?.email()||"";if("urlParam"==e.get("type")){return n=e.get("urlParameterKey")||"",new URLSearchParams(window.location.search).get(n)||""}var n;return e.get("hiddenValue")}},7382:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormStepContainerWidget:()=>i});const i=n(2311).provideWidgetClass("FormStepContainerWidget",{attributes:{overscrollBehavior:["enum",{values:["default","none"]}],fixedFormHeight:"boolean",formHeight:"integer",scrollbarWidth:["enum",{values:["default","thin","none"]}],showCaptcha:"boolean",friendlyCaptchaLanguage:"string",googleRecaptchaLanguage:"string",captchaAlignment:["enum",{values:["left","center","right"]}],captchaTheme:["enum",{values:["light","dark"]}],friendlyCaptchaStartMode:["enum",{values:["none","auto","focus"]}],formId:"string",customClassNames:"string",failedMessage:"string",submittedMessage:"string",submittingMessage:"string",failedMessageType:["enum",{values:["default","widget-list"]}],submittedMessageType:["enum",{values:["default","widget-list"]}],submittingMessageType:["enum",{values:["default","widget-list"]}],failedMessageWidgets:"widgetlist",submittedMessageWidgets:"widgetlist",submittingMessageWidgets:"widgetlist",previewFailedMessage:"boolean",previewSubmittedMessage:"boolean",previewSubmittingMessage:"boolean",showRetryButton:"boolean",retryButtonText:"string",retryButtonAlignment:["enum",{values:["left","text-center","text-end"]}],hiddenFields:["widgetlist",{only:"FormHiddenFieldWidget"}],formType:["enum",{values:["single-step","multi-step"]}],steps:["widgetlist",{only:"FormStepWidget"}],forwardButtonText:"string",backwardButtonText:"string",submitButtonText:"string",showBorder:"boolean",showReview:"boolean",includeEmptyAnswers:"boolean",showStepsInReview:"boolean",showReviewHeader:"boolean",showReviewFooter:"boolean",reviewButtonText:"string",reviewHeaderTitle:"string",reviewCloseButtonText:"string",singleSubmitButtonAlignment:["enum",{values:["left","text-center","text-end","block"]}]},extractTextAttributes:["steps"]})},7534:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormConditionalContainerWidget:()=>i});const i=n(2311).provideWidgetClass("FormConditionalContainerWidget",{attributes:{headerType:["enum",{values:["dropdown","radio"]}],title:"html",customFieldName:"string",conditions:["widgetlist",{only:"FormConditionWidget"}],required:"boolean",validationText:"string",helpText:"html"}})},7570:(e,t,n)=>{"use strict";function i(e){return!e.attributeDefinitions().type||"custom"===e.get("type")}n.d(t,{c:()=>i})},7586:(e,t,n)=>{"use strict";n.d(t,{O:()=>s,x:()=>o});var i=n(9155),a=n.n(i);const r=(0,i.createContext)(void 0),o=()=>{const e=(0,i.useContext)(r);if(!e)throw new Error("useFormContext must be used within a FormProvider");return e},s=({children:e,value:t})=>a().createElement(r.Provider,{value:t},e)},7670:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormCheckboxWidget:()=>i});const i=n(2311).provideWidgetClass("FormCheckboxWidget",{attributes:{type:["enum",{values:["custom","subscription","accept_terms"]}],customFieldName:"string",label:"html",required:"boolean",helpText:"html",validationText:"string"}})},7771:(e,t,n)=>{"use strict";n.d(t,{l:()=>s,e:()=>l});var i=n(9155),a=n(2311),r=n(7074);const o=a.connect((({name:e,isInvalid:t,widget:n,onChange:a})=>{const o=n.get("required"),s=function(e){const t=parseInt(e.get("linearScaleLowerLimit"))||0,n=parseInt(e.get("linearScaleUpperLimit"))||5;return(0,r.y1)(t,n+1).map((e=>e.toString()))}(n),c=n.get("linearScaleLowerLabel"),d=n.get("linearScaleUpperLabel");return i.createElement("div",{className:"linear-scale-container"},c&&i.createElement("span",{className:"scale-label lower"},c),i.createElement("div",{className:"row"},s.map(((n,r)=>i.createElement(l,{selectionType:"linear-scale",name:e,value:n,required:o,isInvalid:t,key:r,onChange:a})))),d&&i.createElement("span",{className:"scale-label upper"},d))})),s=a.connect((({isMultiSelect:e,required:t,isInvalid:n,widget:a,name:r,onChange:s,onClickNavigate:c})=>{const d=a.get("selectionType");if("radio"==d||"multi"==d){const o=a.get("items");return i.createElement("div",{className:a.get("inlineView")?"inline":"row"},o.map(((a,o)=>i.createElement(l,{selectionType:e?"multi":"radio",name:r,value:a,required:t,isInvalid:n,key:o,onChange:s,onClickNavigate:c}))))}return i.createElement(o,{name:r,isInvalid:n,widget:a,onChange:s})})),l=({selectionType:e,value:t,id:n,name:a,required:r,isInvalid:o,onChange:s,onClickNavigate:l})=>{const c=r&&("radio"==e||"linear-scale"==e),d="radio"==e||"linear-scale"==e?"radio":"checkbox";return i.createElement("label",{className:`select-label ${e}`},i.createElement("input",{className:"form-check-input "+(c&&o?"is-invalid":""),name:a,type:d,value:t,onChange:s,onClick:l,id:n}),i.createElement("span",null,t))}},8135:(e,t,n)=>{"use strict";n.d(t,{L:()=>s,w:()=>o});var i=n(9155),a=n.n(i);const r=(0,i.createContext)(void 0),o=()=>{const e=(0,i.useContext)(r);if(!e)throw new Error("useValidationContext must be used within a ValidationProvider");return e},s=({children:e})=>{const[t,n]=(0,i.useState)({}),[o,s]=(0,i.useState)({}),[l,c]=(0,i.useState)(null),d=(e,t)=>{n((n=>({...n,[e]:!t})))};return a().createElement(r.Provider,{value:{invalidFields:t,mandatoryFields:o,firstInvalidField:l,setFirstInvalidField:c,updateValidationState:d,registerField:(e,t)=>{s((n=>({...n,[e]:t})))},validate:(e,t)=>{let n=!0,i=!1;const a=document.getElementById(e);if(a){const e=a.querySelector(`[data-step-number='${t}']`);e&&(e.querySelectorAll("input, select, textarea").forEach((t=>{const a=t.name,r=(t.value||"").trim(),s=o[a]||!1,l=t.type;s?("radio"===l||"checkbox"===l?0===e.querySelectorAll(`input[name='${a}']:checked`).length?(d(a,!1),n=!1):d(a,!0):r&&t.checkValidity()?d(a,!0):(d(a,!1),n=!1),i||n||(c(a),i=!0)):d(a,!0)})),n&&c(null))}return n}}},e)}},8390:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormHiddenFieldWidget:()=>i});const i=n(2311).provideWidgetClass("FormHiddenFieldWidget",{onlyInside:["FormStepContainerWidget","FormStepWidget","FormContainerWidget"],attributes:{customFieldName:"string",hiddenValue:"string",type:["enum",{values:["custom","subscription","email","name","urlParam"]}],urlParameterKey:"string",urlParameterFieldName:"string"}})},9102:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormRatingWidget:()=>i});const i=n(2311).provideWidgetClass("FormRatingWidget",{attributes:{title:"html",colorType:["enum",{values:["default","primary","secondary","custom"]}],size:["enum",{values:["bs-icon-1x","bs-icon-default","bs-icon-2x","bs-icon-3x","bs-icon-4x","bs-icon-5x"]}],icon:"string",customColor:"string",hoverEffect:"boolean",helpText:"html",customFieldName:"string"}})},9155:e=>{"use strict";e.exports=t},9401:(e,t,n)=>{"use strict";var i=n(9155),a=n(2311),r=n(7074);const o={color:"rgba(64, 64, 64, 0.53)",display:"inline-block",fontSize:"13px",fontStyle:"normal",fontWeight:"normal",lineHeight:"28px",verticalAlign:"middle"},s=({children:e,center:t,block:n})=>{if(!a.isInPlaceEditingActive())return null;const r=i.createElement("span",{style:o},e);return t?i.createElement("div",{className:"text-center"},r):n?i.createElement("div",null,r):r};var l=n(9722),c=n(7771),d=n(6620),m=n(2609),u=n(1338);const g=({options:e,name:t,useFloatingLabel:n,widget:r,required:o,helptext:s,title:c,isInvalid:g,onInputChange:p})=>{const h=r.id(),[v,f]=i.useState(!1);return i.createElement("div",{className:`dropdown-wrapper ${n?"floating-label":""} ${v?"is-selected":""}`},c&&i.createElement("label",{htmlFor:h,className:"dropdown-label"},i.createElement(a.ContentTag,{attribute:"title",content:r,tag:"span"}),o&&i.createElement(d.q,null),s&&i.createElement(m.$,{widget:r})),i.createElement("select",{className:"dropdown-select form-select "+(o&&g?"is-invalid":""),name:t,id:h,onChange:e=>{f(""!==e.target.value),p((0,l.M)(r),e.target.value)}},i.createElement(u.n,{value:"",id:"empty-option",key:"empty-option"}),e.map(((e,t)=>i.createElement(u.n,{value:e,id:t.toString(),key:t})))))};var p=n(516);const h=({parentRef:e,text:t,onReset:n})=>i.createElement("div",{className:"text-end fade-in"},i.createElement("div",{className:"reset-label",onClick:()=>{if(e.current){const t=e.current.getElementsByTagName("input");Array.from(t).forEach((e=>{"radio"===e.type&&(e.checked=!1)})),n()}}},i.createElement("span",null,t)));var v=n(7586),f=n(1634);a.provideComponent(p.FormSelectWidget,(({widget:e})=>{const[t,n]=i.useState(!1),o=e.get("items"),u=(0,l.M)(e),p=e.get("required"),b="multi"==e.get("selectionType"),w="dropdown"==e.get("selectionType"),y=e.get("validationText")||"Please select an item ",{onInputChange:E,navigateOnClick:C}=(0,v.x)(),{isLocallyValid:F,setIsLocallyValid:x,ref:S}=(0,f.j)(u,p),T=!F;return o.length||"linear-scale"==e.get("selectionType")?i.createElement("div",{className:"select-container mb-3",ref:S},w?i.createElement(g,{name:(0,l.M)(e),options:o,useFloatingLabel:e.get("useFloatingLabel")||!1,widget:e,required:e.get("required"),helptext:e.get("helpText"),title:e.get("title"),onInputChange:(e,t)=>{p&&x(!(0,r.Im)(t)),E(e,t)},isInvalid:T}):i.createElement(i.Fragment,null,e.get("title")&&i.createElement("div",{className:"select-title"},i.createElement(a.ContentTag,{attribute:"title",content:e,tag:"span"}),!b&&e.get("required")&&i.createElement(d.q,null),e.get("helpText")&&i.createElement(m.$,{widget:e})),i.createElement(c.l,{isMultiSelect:b,required:e.get("required"),isInvalid:T,widget:e,name:(0,l.M)(e),onChange:()=>{if(n(!0),S&&S.current){const t=S.current.getElementsByTagName("input"),n=Array.from(t),i=[];n.forEach((e=>{e.checked&&i.push(e.value)})),p&&x(!(0,r.Im)(i)),E((0,l.M)(e),i.join(", "))}},onClickNavigate:()=>b||!e.get("navigateOnClick")?null:C()})),e.get("showClearSelectionButton")&&t&&!e.get("required")&&("radio"==e.get("selectionType")||"linear-scale"==e.get("selectionType"))&&i.createElement(h,{onReset:()=>{n(!1),E((0,l.M)(e),""),p&&x(!1)},text:e.get("clearSelectionButtonText"),parentRef:S}),p&&T&&i.createElement("div",{className:"invalid-feedback"},y)):i.createElement(s,{center:!0},"Add items in the widget properties.")}))},9514:e=>{"use strict";e.exports=n},9532:t=>{"use strict";t.exports=e},9611:(e,t,n)=>{var i={"./FormCheckboxWidget/FormCheckboxWidgetClass.ts":7670,"./FormCheckboxWidget/FormCheckboxWidgetComponent.tsx":5259,"./FormConditionWidget/FormConditionWidgetClass.ts":2030,"./FormConditionWidget/FormConditionWidgetComponent.tsx":9843,"./FormConditionalContainerWidget/FormConditionalContainerWidgetClass.ts":7534,"./FormConditionalContainerWidget/FormConditionalContainerWidgetComponent.tsx":4400,"./FormDateWidget/FormDateWidgetClass.ts":4588,"./FormDateWidget/FormDateWidgetComponent.tsx":1629,"./FormHiddenFieldWidget/FormHiddenFieldWidgetClass.ts":8390,"./FormHiddenFieldWidget/FormHiddenFieldWidgetComponent.tsx":7351,"./FormInputFieldWidget/FormInputFieldWidgetClass.ts":764,"./FormInputFieldWidget/FormInputFieldWidgetComponent.tsx":5485,"./FormRatingWidget/FormRatingWidgetClass.ts":9102,"./FormRatingWidget/FormRatingWidgetComponent.tsx":771,"./FormSelectWidget/FormSelectWidgetClass.ts":516,"./FormSelectWidget/FormSelectWidgetComponent.tsx":9401,"./FormSignatureWidget/FormSignatureWidgetClass.ts":538,"./FormSignatureWidget/FormSignatureWidgetComponent.tsx":26,"./FormStepContainerWidget/FormStepContainerWidgetClass.ts":7382,"./FormStepContainerWidget/FormStepContainerWidgetComponent.tsx":397,"./FormStepWidget/FormStepWidgetClass.ts":9972,"./FormStepWidget/FormStepWidgetComponent.tsx":2149};function a(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}a.keys=function(){return Object.keys(i)},a.resolve=r,e.exports=a,a.id=9611},9722:(e,t,n)=>{"use strict";n.d(t,{M:()=>a});var i=n(7570);function a(e){return(0,i.c)(e)?e.get("customFieldName"):"urlParam"==e.get("type")?e.get("urlParameterFieldName")||"":e.get("type")}},9843:(e,t,n)=>{"use strict";n.r(t);var i=n(9155),a=n(2311),r=n(2030),o=n(4399);a.provideComponent(r.FormConditionWidget,(({widget:e})=>{const{getConditionData:t}=(0,o.K)();return t(e.id()).isActive||a.isInPlaceEditingActive()?i.createElement(i.Fragment,null,a.isInPlaceEditingActive()&&i.createElement("span",{className:"condition-info"},"Condition: "+e.get("title")),i.createElement(a.ContentTag,{content:e,attribute:"content",className:a.isInPlaceEditingActive()?"conditional-content":""})):null}))},9972:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FormStepWidget:()=>i});const i=n(2311).provideWidgetClass("FormStepWidget",{onlyInside:"FormStepContainerWidget",attributes:{items:"widgetlist",stepNumber:"integer",isSingleStep:"boolean"}})}},r={};function o(e){var t=r[e];if(void 0!==t)return t.exports;var n=r[e]={exports:{}};return a[e](n,n.exports,o),n.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{"use strict";o.r(s),o.d(s,{initNeoletterFormWidgets:()=>e.iD});var e=o(383)})(),s})()));