1import{F as w,V as L}from"./DlKykd6e.js";const F={required:e=>!!e,email:e=>/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/.test(e),minLength:(e,t)=>typeof e=="string"&&e.length>=t.minLength,maxLength:(e,t)=>typeof e=="string"&&e.length<=t.maxLength,min:(e,t)=>typeof e=="number"&&e>=t.min,max:(e,t)=>typeof e=="number"&&e<=t.max,pattern:(e,t)=>typeof e=="string"&&t.pattern.test(e)},S=[{key:"field[%VisitorSource%]",field:"source"},{key:"field[%VisitorMedium%]",field:"medium"},{key:"field[%VisitorCampaign%]",field:"campaign"},{key:"field[%VisitorTerm%]",field:"term"},{key:"field[%VisitorContent%]",field:"content"},{key:"field[%VisitorAdGroup%]",field:"adgroup"},{key:"field[%VisitorAd%]",field:"ad"},{key:"field[%VisitorKeyword%]",field:"keyword"},{key:"field[%VisitorGclid%]",field:"gclid"}],T=["10847","10293","10294","10282","10290","10338","10433","10288","10683","10676","10675","10461","10329","10455","10319","10464","10269","10331","10325","10335","10241","10737","10733","10736","10734","10735","10230","10162","10438","10458","10439","10312","10310","10314","10437","10313","10434","10762","10436","10435","10467","10476","10743","10602","10725","10731","10730","10744","10728","10745","10970","10988","10987","10340","10300"],p={arc:{fixedSMTForm:["[ARCA 2.0] Banner Form"],exitIntentModal:["[ARC 2.0] Email Form"],mangementDevelopmentForm:["[ARC] Management Contact Us Form"],eventForm:["[ARCA 2.0] Event Form"],popUpSMTForm:["[ARCA 2.0] PopUp Form","[ARCA 2.0] Not Opted"],exitIntentForm:["[ARC 2.0] Email Form"]},asl:{fixedSMTForm:["[ASL 2.0] Banner Form"],emailSignUp:["[ASL 2.0] Email Form"],exitIntentModal:["[ASL 2.0] Email Form"],mangementDevelopmentForm:["[ASL] Management Contact Us Form"],eventForm:["[ASL 2.0] Event Form"],popUpSMTForm:["[ASL 2.0] PopUp Form","[ASL 2.0] Not Opted"],exitIntentForm:["[ASL 2.0] Email Form"]},holiday:{fixedSMTForm:["[Holiday 2.0] Banner Form"],emailSignUp:["[Holiday Website] Email Form"],exitIntentModal:["[Holiday Website] Email Form"],mangementDevelopmentForm:["[Holiday] Management Contact Us Form"],eventForm:["[HOL 2.0] Event Form"],popUpSMTForm:["[HOL 2.0] PopUp Form","[HOL 2.0] Not Opted"],exitIntentForm:["[Holiday Website] Email Form"]},coterie:{eventForm:["[Coterie] Event Form"],emailSignUp:["[Coterie 2.0] email form"],popUpSMTForm:["[Coterie 2.0] PopUp Form","[Coterie 2.0] Not Opted"],slideOverForm:["[Coterie 2.0] Schedule a Tour"],blockScheduleForm:["[Coterie 2.0] Schedule a Tour"],contactUsForm:["[Coterie 2.0] Contact Us"],modelResidenceForm:["[Coterie 2.0] Model Residence"]}},P=function(e,t,i){if(typeof p[e]>"u"||typeof p[e][t]>"u")throw new Error(`Could not get tags for brand ${e} and/or form ${t}`);let n=p[e][t];return i&&i.length&&(n=[...n,...i]),n},m=function(e,t,i){if(!t||t===void 0||t===null)return!0;const n=i||null;if(typeof t=="string"){if(!F[t])throw new Error(`Invalid validator: ${t}\r 2To use a custom validator, pass a function instead`);return F[t](e,n)}else if(Array.isArray(t)){let r=!0;for(let a of t)m(e,a,n)===!1&&(r=!1);return r}return t(e,i||null)};function I(e){let t=!0,i=!1;for(let n in e.fields){const r=e.fields[n];i=r.isDirty=!!r.value,t=r.isValid=m(r.value,r.validator,r.validationOptions)}e.isDirty=i,e.isValid=t}function y(e){for(const t in e)if(e[t]&&Object.hasOwn(e[t],"isValid")&&!e[t].isValid)return!1;return!0}function O(e,t){for(const i in e)e[i]&&(e[i].isDirty=!0,t&&(e[i].isValid=!0))}async function R(e,t){const{formFields:i}=t;return y(i)?await M(e,t):!1}function b(e,t){let i=!0;for(let n in e){const r=e[n];t&&(r.isDirty=!0),r.isValid=m(r.value,r.validator,r.validationOptions),!(r.validator!=="required"&&(r.isValid||!r.isDirty))&&(r.isValid||(i=!1))}return i}function V(e,t){e.value=t,e.isDirty=e.isDirty?!0:!!t,e.isValid=m(t,e.validator,e.validationOptions)}function A(e){return{...new w,...e}}function k(e){const t=e.map(n=>A(n)),i=new L;return i.fields=t,i}function g(e,t,i,n,r,a){const o={},{formFields:s,formName:d}=t,l=E(a,d);for(const f in s)typeof s[f]=="object"?o[f]=s[f].value:o[f]=s[f];o["field[%QUESTIONS_OR_COMMENTS%]"]=n,e&&(o["field[%community_Name%]"]=e.name,o["f
2ield[%COMMUNITY_1_VANITY_NAME%]"]=e.name,o["field[%COMMUNITY_1_NUMBER%]"]=e.number),o["field[%ACTIVECAMPAIGN_LEAD_TYPE%]"]=r||"sales",o["field[%UNIT_TYPE%]"]=t?.pricingData?.unitType,o["field[%UNIT_PRICE%]"]=t?.pricingData?.unitPrice,o["field[%CARELEVEL%]"]=t?.careType,o["field[%ALINE_INDIVIDUAL_TYPE%]"]="Pre Lead";const c=N(o,t),u=U(l["field[%VisitorMedium%]"],l["field[%VisitorSource%]"]);e&&T.includes(e.number)&&(o["field[%REFERRAL_SOURCE%]"]=u),o["field[%COMMUNICATION_PREFERENCES%]"]=c,o.api_output="json";let _=typeof i=="string"?i:i.join(", ");return{...o,tags:_,...l}}function U(e,t){let i="Website";if(!e&&!t)return i;switch(e.toLowerCase()){case"youtube_ads":i="WEB - 3rd Party Display";break;case"fb_prospecting":case"fb_retargeting":i="WEB - Paid Social";break;case"cpc":i="Paid Search";break;case"email":i="Email Marketing";break;case"yext":case"birdeye":case"chatmeter":case"organic":i="WEB - Organic Search";break;case"referral":i="Website";break}switch(t.toLowerCase()){case"display":i="WEB - 3rd Party Display";break;case"fb":i="WEB - Paid Social";break}return i}function N(e,t){const i=["phone","text","email","mail"],n=["field[%CRM_PHONE_FLAG%]","field[%CRM_TEXT_FLAG%]","field[%CRM_MAIL_FLAG%]","field[%CRM_EMAIL_FLAG%]"];n.forEach(o=>{e[o]=Object.hasOwn(t.formFields,o)?t.formFields[o]?.value:"1"}),n.every(o=>t.formFields[o]?.value==="0")&&(e["field[%CRM_PHONE_FLAG%]"]="1",e["field[%CRM_TEXT_FLAG%]"]="1",e["field[%CRM_MAIL_FLAG%]"]="1",e["field[%CRM_EMAIL_FLAG%]"]="1");const a=[];return n.forEach(o=>{e[o]==="1"&&a.push(o)}),a.map(o=>i.find(d=>o.includes(d.toUpperCase()))).join("||")}function E(e,t="[Unknown]"){if(window.campaignQueryParser){const i=e?`[${e}]`:"",n={"field[%VisitorFormLocation%]":window.location.origin+window.location.pathname+i+" "+t};return S.map(r=>{n[r.key]=window.campaignQueryParser.getField(r.field)}),n}return{}}async function h(e){if(!window.hasOwnProperty("grecaptcha"))return"recaptcha-library-not-found";try{return await Promise.race([new Promise((t,i)=>{grecaptcha.ready(async()=>{try{t(await grecaptcha.execute(e,{action:"submit"}))}catch(n){i(n)}})}),new Promise((t,i)=>setTimeout(()=>i(new Error("reCAPTCHA timeout")),1e4))])}catch{return"recaptcha-client-side-error"}}function v(e,t="+1"){if(!e)return"";const i=e.replace(/\D/g,"");return i.length===11&&i.startsWith("1")?`+${i}`:i.length===10?`${t}${i}`:`${t}${i}`}function C(e="sales",t,i){const n=e==="sales"?"Lead":"Email";if(window.dataLayer){const r={event:"ac-form-submit",formFunction:n};i&&i.hasOwnProperty("email")&&(r.email=i.email.value),i&&i.hasOwnProperty("phone")&&(r.phone=v(i.phone.value)),dataLayer.push(r)}window.heap&&(window.heap.identify(t),window.heap.track("ac-form-submit",{formFunction:n}))}async function M(e,t){const{community:i,formFields:n,tags:r,formLocation:a,recaptchaKey:o,leadType:s,questionsOrComments:d}=t;let l=o;l||(l=e.recaptchaKey);let c;try{c=g(i,t,r,d,s,a),c.recaptcha=await h(l),await e.postActiveCampaignForm(c),C(s,n.email.value,n)}catch(u){await e.postCanaryCampaignForm(c),console.error(u)}return!0}const G={validate:m,validateForm:I,validateFields:b,validateGenericForm:y,update:V,createFormField:A,createForm:k,createActiveCampaignBody:g,getTrackingParameters:E,getRecaptchaToken:h,handleActiveCampaignFormSubmission:R,forceGTMEvent:C,submitActiveCampaignForm:M,touchAllFields:O,getTags:P};export{G as f,m as v};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.